web-dev-qa-db-fra.com

Passer le tableau à la requête ajax dans $ .ajax ()

Duplicate possible:
Sérialisation sur JSON dans jQuery

Je veux envoyer un tableau sous forme de requête Ajax:

info[0] = 'hi';
info[1] = 'hello';

$.ajax({
  type: "POST",
  url: "index.php",
  success: function(msg){
    $('.answer').html(msg);
  }
});

Comment puis-je faire ceci?

186
Poonam Bhatt
info = [];
info[0] = 'hi';
info[1] = 'hello';


$.ajax({
   type: "POST",
   data: {info:info},
   url: "index.php",
   success: function(msg){
     $('.answer').html(msg);
   }
});
240
Diode

Utilisez simplement la méthode JSON.stringify et transmettez-la comme paramètre "data" pour la fonction $ .ajax, comme suit:

$.ajax({
    type: "POST",
    url: "index.php",
    dataType: "json",
    data: JSON.stringify({ paramName: info }),
    success: function(msg){
        $('.answer').html(msg);
    }
});

Vous devez simplement vous assurer d'inclure le fichier JSON2.js dans votre page ...

64
FarligOpptreden

NOTE: Ne fonctionne pas sur les versions les plus récentes de jQuery.

Puisque vous utilisez jQuery, utilisez sa fonction seralize pour sérialiser des données, puis transmettez-les au paramètre data de l'appel ajax:

info[0] = 'hi';
info[1] = 'hello';

var data_to_send = $.serialize(info);

$.ajax({
    type: "POST",
    url: "index.php",
    data: data_to_send,
    success: function(msg){
        $('.answer').html(msg);
    }
});
7
BlackDivine