Blog de Jesus Forain Blog de Jesus Forain
Blog personnel de Jesus Forain où les principaux sujets sont l'informatique, la technologie, le spatial mais aussi divers sujets.
Site hébergé sur un Raspberry PI 4 avec une connexion ADSL infos ici
Rechercher & filtrer
Filtrer par année / mois
Derniers commentaires
Création d'un serveur NTP de strate 1 (GPS)
Fred (non inscrit)
mercredi 17 avril 2024 17:08

Bonjour, tuto très clair est précis ! Le module GPS marche parfaitement suite aux indications de mises en œuvre.Merci beaucoup !

Appairer un Freeplug avec un boîtier CPL d'une autre marque
__invité__
jeudi 4 avril 2024 15:53

Merci encore !Il semble donc que le wifi envoyé dans le réseau électrique par la Freeplug émettrice fonctionne bien vers la prise CPL du salon.Comme je vous l'ai écrit, il est émis sous le sigle Netgear et je ne sais pas le changer pour le mettre sous l'intitulé Free.Cordialement

Appairer un Freeplug avec un boîtier CPL d'une autre marque
avatar de Jesus Forain
Jesus Forain
mardi 26 mars 2024 19:44

J'ai regardé les spécifications du CPL Netgear XWNB5201 et c'est un CPL avec point d'accès WIFI. Le CPL des freeplugs est standard (norme AV200) et compatible avec les autres CPL du marché. Il faut appairer le CPL Netgear avec les freeplugs.Le plus simple est de brancher les 2 freeplugs et le CPL Ne[...]

Appairer un Freeplug avec un boîtier CPL d'une autre marque
__invité__
mardi 26 mars 2024 16:25

Bonjour et merci pour votre réponse !Pas facile d'expliquer clairement par écrit.Avant j'étais chez SFR et j'avais deux prises CPL 500 Netgear.Maintenant, je suis passé chez Free et du coup, ils m'ont posé deux Freeplugs. Par contre le Freeplug récepteur n'émet pas de Wifi contrairement à la CPL Net[...]

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 23:43

Le décollage du Starship vu sous plusieurs angles par les équipes de NASASpaceflight. On voit bien les ondes de choc au moment de l'allumage des moteurs. Dans les heures et jours qui suivent, on devrai voir diverses vidéos du Starship apparaître sur YouTube. Et je me demande si quelqu'un a réussi à [...]

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 15:31

Images de la rentrée atmosphérique, le Starship a été perdu durant cette phase. Ça aura encore été un vol incroyable avec toujours de gros progrès par rapport aux vols précédents.  

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 15:01

En attendant que le Starship revienne sur Terre, tu peux écouter ça pour patienter, mais trouveras-tu la référence?   ▶  

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 14:36

Magnifique! 

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 13:54

Le direct de SpaceX est commencé sur X → lienLes réservoirs sont en cours de remplissage.

Starship: décollage prévu le 14 mars (ou après)
avatar de Jesus Forain
Jesus Forain
jeudi 14 mars 2024 13:26

GO pour le remplissage des réservoirs, décollage encore repoussé à 14h25.

Transférer en AJAX un tableau de données entre client et serveur

- 188 vues

Quand on utilise de l'AJAX pour son site web, on a souvent besoin de transférer plusieurs variables entre client et serveur mais le problème est qu'entre les 2, c'est une chaîne de caractères qui cicule. Comment récupérer le résultat d'une fonction et son code retour par exemple?

On peut utiliser du JSON mais le problème c'est que si les fonctions pour le traiter sont diponibles en PHP côté serveur, elles ne le sont pas en Javascript côté client, il faut alors utiliser des bibliothèques Javascript pour le traiter et je voudrais bien me passer de l'utilisation d'une bibliothèque.

L'astuce que j'ai trouvée consiste à utiliser un caractère qui servira de séparateur entre les données. Bien sur, ce caractère ne devra pas être alphanumérique, si le séparateur était la lettre A, il y aurait de fortes chances de la retrouver dans les données à transmettre et ça poserait problème pour savoir si'il s'agit du séparateur ou des données.
On utilisera donc les caractères spéciaux qu'on trouve au début de la table ASCII, ces caractères ont peu de chance de se retrouver dans les données, il faudra là aussi éviter certains caractères comme les retours chariots, si les données sont du texte sur plusieurs lignes, il y en aura forcément.

Dans notre exemple, on va utiliser le caractère ASCII N°29, 0x1D en hexa, séparateur de groupe ou GS.

On a besoin déchanger ces 3 variables:

  • 'Texte de la page'
  • $uneVariable
  • $uneAutreVariable

Échange serveur --> client

Côté serveur (PHP), on concatène les données de façon à avoir une chaîne, \x1D est le code ASCII en hexa du caractère séparateur:

 echo 'Texte de la page'."\x1D".$uneVariable."\x1D".$uneAutreVariable;

Côté client (Javascript), on éclate la chaîne avec split, String.fromCharCode(29) retourne le caractère ASCII à partir de son code décimal:

 var donneesServeur = xhr.responseText.split(String.fromCharCode(29));

La variable serverData est un tableau:
[0] = 'Texte de la page'
[1] = contenu de $uneVariable
[2] = contenu de $uneAutreVariable

Échange client --> serveur

C'est le même principe que précédament mais à l'envers:

Côté client:
On cancatène les données avec le caractère séparateur entre.

 var chainePourLeServeur = 'Texte de la page' + String.fromCharCode(29) + uneVariable+String.fromCharCode(29) + uneAutreVariable;

Côté serveur:
On utilise explode pour éclater la chaîne en tableau.

 $donneesClient = explode("\x1D", $_POST['donnees']);

La variable $donneesClient est un tableau:
[0] = 'Texte de la page'
[1] = contenu de uneVariable
[2] = contenu de uneAutreVariable

On peut aussi transmettre des tableaux à plusieurs dimentions en choisisant plusieurs caractères séparateur.

 

partager sur Facebook
COMMENTAIRES
Envoyer un commentaire
chargement de l'éditeur en cours...
Envoi d'images
Cliquez sur le bouton "insérer l'image" pour l'ajouter à votre message, le fond de l'image passe en vert indiquant qu'elle est ajoutée. Les images non insérés sont supprimées.

Envoi de fichiers

Attention! vous n'êtes pas connecté, vous postez en mode invité.