wake-up-neo.com

Array an Ajax-Anfrage in $ .ajax () übergeben

Mögliches Duplikat:
Serialisierung auf JSON in jQuery

Ich möchte ein Array als Ajax-Anfrage senden:

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

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

Wie kann ich das machen?

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

Verwenden Sie einfach die JSON.stringify-Methode und übergeben Sie sie wie folgt als "data" -Parameter für die $ .ajax-Funktion:

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

Sie müssen nur sicherstellen, dass Sie die Datei JSON2.js in Ihre Seite einfügen ...

64
FarligOpptreden

NOTE: Funktioniert nicht mit neueren Versionen von jQuery.

Da Sie jQuery verwenden, verwenden Sie bitte die Seralize-Funktion, um Daten zu serialisieren und übergeben Sie sie dann an den Datenparameter des Ajax-Aufrufs:

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