Comment envoyer des tableaux à l'aide de XMLHttpRequest pour serveur
Que je sais à l'aide d'ajax, vous pouvez envoyer des données au serveur, mais je suis confus au sujet de l'envoi d'un tableau à l'aide de XMLHttpRequest
pas une bibliothèque comme jQuery. Ma question est, est-ce possible d'envoyer un tableau à php
à l'aide de XMLHttpRequest
et comment jQuery
envoyer un array en php, je veux dire que jQuery ne faire aucun travail supplémentaire pour envoyer un tableau à un serveur (php $_POST) ?
Vous devez vous connecter pour publier un commentaire.
Bien vous ne pouvez pas envoyer quoi que ce soit, mais une chaîne d'octets. "L'envoi de tableaux" est fait par la sérialisation (décisions de la chaîne de la représentation des objets) le tableau et l'envoi de ce.
Le serveur va alors analyser la chaîne et de re-construire des objets en mémoire d'elle.
Donc l'envoi de
[1,2,3]
au cours de PHP qui pourrait arriver de la sorte:test.php:
Btw, avec jQuery, vous faites juste:
file_get_contents( "php://input" );
?$_POST["key"] === "value"
. Le contenu de la"php://input"
sont dans ce cas"key=value"
, ce qui est le PHP utilisé pour construire le$_POST
tableau pour vous. Vous avez besoin de l'utiliser ici parce que lors de la publication JSON, php ne pas remplir$_POST
(depuis$_POST
ne fonctionne que pour les formulaires, pas de JSON).$name=$_POST['name']
lorsque j'utilise$.post
?$.post
avec$_POST
. Il dépend entièrement de ce que le format que vous$.post
(qui n'est pas clair à partir de votre commentaire).$_POST
ne fonctionne que pour la forme de données codées. Lors de la publication JSON comme cela, vous devez décoder manuellement à partir du corps de la requête.$.post( "test.php", JSON.stringify(a) );
Comment puis-je obtenir les données dans$_POST
?$.post( "test.php", {arr:[1,2,3]});
comment est-ce possible d'envoyer les données en php et je peux l'obtenir dans$_POST
, Yhanks.Qui repose sur le protocole que vous choisissez de package de votre structure de données. Les 2 les plus couramment utilisés sont XML et JSON. Les deux ont les moyens de déclarer un tableau:
JSON:
['one thing', 'another thing']
XML:
<things><thing name='one thing' /><thing name='another thing' /></things>
ni aucun travail supplémentaire par le serveur. Dans de nombreux cas, il sera effectivement réduire la charge de travail puisque vous n'avez pas besoin d'utiliser une convention de nommage pour les différencier.
Vous souhaitez envoyer un objet jSon (qui peut être un tableau). Check this out, si vous utilisez php Envoyer des données JSON en PHP à l'aide de XMLHttpRequest w/o jQuery.
Plus sur jSon: http://json.org/
jQuery jSon exemple: JQuery et JSON