2016-07-28 4 views
2
var sample=[]; 
sample.push("one"); 
sample.push("two"); 
sample.push("three"); 

$.ajax({ 
     url : 'sampleAction', 
     dataType : 'json', 
     type : 'POST', 
     data : { 
      'message':sample 
     }, 
     success:function(data){ 

     } 
     }); 

Es muss passieren diese wie enter image description hereWie Array Symbol in Ajax-Parameter

aber vermeiden, ist es mit [] Symbol übergeben, wie Sie dieses Symbol [] enter image description here

+0

Dieses Array-Symbol schlägt den Schlüssel dieses Arrays vor. Wie man ist auf der 0. (erste) Taste und so weiter. –

+0

Warum möchten Sie dieses Symbol entfernen? –

+0

in Server-Seite bekomme ich diesen Parameter als arraylist ... – hardcode

Antwort

1

Ich bekam eine Antwort, wenn wir traditionell geben: true, es funktioniert

$.ajax({ 
    url : 'sampleAction', 
    dataType : 'json', 
    type : 'POST', 
    data : sample, 
    traditional: true, 
    success:function(data){ 

} });

0

Hier vermeiden Sie übergeben Daten als Array, dann sollte es mit Array-Symbol übergeben werden. Um das Array-Symbol zu vermeiden, müssen Sie ein assoziatives Objekt übergeben, das nicht mit dem Nachrichtenschlüssel verschachtelt ist. Und in Ihrem serverseitigen Skript müssen Sie entsprechend für aufgenommene Daten ändern.

var sample=(); 
sample.one = "one"; 
sample.two = "two"; 
sample.three = "three"; 

$.ajax({ 
     url : 'sampleAction', 
     dataType : 'json', 
     type : 'POST', 
     data : sample, 
     success:function(data){ 
    } 
}); 

Wenn Sie mehrere Nachrichten dann passieren Ich berate Sie in Array-Format zu halten, weil es sehr einfach ist es in Server-Seite zuzugreifen.

+0

Ja, ich sende mehrere Nachrichten, aber auf der Serverseite bekomme ich das als Array lis, nicht Array, also muss ich vermeiden [] Symbol, zuvor habe ich das gleiche versucht, dass Zeit den Parameter senden ohne [] Symbol ... – hardcode