9
votes

Postez un tableau à l'aide de jQuery Ajax

J'essaie de faire quelque chose de assez simple mais je ne peux pas sembler trouver la solution. Je souhaite poster un tableau multidimensionnel sur une page PHP à l'aide de la fonction de jQuery .ajax, mais je ne peux pas sembler sérialiser correctement le tableau.

Le code est comme suit P>

var dataToSend = new Array();
  dataToSend["page"] = location.href;
  dataToSend["data"] = new Array();
  var dataindex = 0;
  jQuery(".myclass").each(function(){
      dataToSend["data"][dataindex]=new Array();
      dataToSend["data"][dataindex]["selector"] = unique_selector(jQuery(this), "");
      dataToSend["data"][dataindex]["contents"] = jQuery(dataToSend["data"][dataindex]["selector"]).html();
  });
  jQuery.ajax({
      type: 'POST',
      url: "/main/save.php",
      data: JSON.stringify(dataToSend),
      dataType: "json",
      success: function(data){alert(data);}
  });


0 commentaires

3 Réponses :


0
votes

pris à partir des pages d'aide PHP:

Vous pouvez avoir une matrice multidimensionnelle dans les entrées de formulaire P>

Exemple HTML: P>

$firstname = $_POST['data']['User']['firstname'];
...


2 commentaires

Oui j'ai vu cette option, mais je ne pose pas le contenu d'un formulaire. C'est un tableau JavaScript que j'ai assemblé. J'ai besoin d'un moyen de convertir ce tableau à une chaîne JSON.


Vous souhaitez convertir une matrice JavaScript en une chaîne JSON?



12
votes

Vous définissez nouveau tableau (); , mais vous les utilisez comme nouvel objet () . Essayez d'utiliser des objets.

Essayez ceci: xxx


3 commentaires

Je suppose qu'il n'y a pas d'équivalent de JSON.Stringify pour les tableaux? Quoi qu'il en soit, cela fonctionnait maintenant pour trier le côté PHP. Merci beaucoup.


@mkeats. Pas de soucis. @Daniel. Les tableau sont des listes d'indexation entière. Les objets sont des listes d'indexation clés. JSON doit avoir des variables javascript parfaites, ou elle ne convient pas.


@Daniel, json.stringify ([{Nom: mec '}, {nom:' gars ', téléphone: 234556}]) donne "[{" nom ":" mec "}, {" Nom ":" gars " , "Téléphone": 234556}] "



1
votes

Utilisez

data: { '': dataToSend }


0 commentaires