2009-06-04 14 views
17

Ich frage mich, wie man ein Array mit $ .ajax post. Mein Array ist so etwas wie dieses:jQuery Post-Array

var a = new Array(); 
a['test'] = 1; 
a['test2'] = 2; 
and so on... 

Ich habe versucht:

$.ajax({ 
    url: baseUrl+"chat.php", 
    data: { vars: a}, 
    type: 'post', 
    success: function(data) { 
alert(data); 
}}); 

Irgendwelche Vorschläge?

+0

Nichts sieht offensichtlich falsch, wie Sie versuchen, die Daten in der PHP zugreifen? – Steerpike

+0

Und haben Sie eine Art von Verkehrsüberwachung verwendet, um sicherzustellen, dass der Anruf auf die Seite chat.php gelangt? – Steerpike

Antwort

32

Versuchen Sie dieses:

var a = {}; 
a['test'] = 1; 
a['test2'] = 2; 

// or 


var a = {}; 
a.test = 1; 
a.test2 = 2; 

// or 


var a = { 
    test : 1, 
    test2 : 2 
}; 

$.ajax({ 
    url: baseUrl+"chat.php", 
    data: a, 
    type: 'post', 
    success: function(data) { 
    alert(data); 
    } 
}); 

Sie dann die Daten in Ihrem PHP-Skript wie folgt zugreifen können:

$_POST['test']; 
$_POST['test2']; 
+0

scheint nicht zu funktionieren :( –

+0

oh es funktioniert. Mein schlechtes. Danke eine Tonne! :) –

+0

Kein Problem. Ich bin froh, dass es schließlich geklappt hat. –

1

Hier ist ein Beispiel, wie ich Arrays übergeben (von Real-Life-Code) :

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: { CartID : cartID, 'Manufacturers[]' : manufacturers, 'PartNumbers[]' : partNumbers }, 
    success: function(res) 
    { 
    ... 
    }, 
    dataType: "json", 
    async: false 
}); 

dann auf der Server-Seite:

$cartID = $_POST['CartID']; 
$manufacturers = $_POST['Manufacturers']; 
$partNumbers = $_POST['PartNumbers']; 
8

Ich habe diese:

var newArray = new Array(); 
newArray.push("item1"); 
newArray.push("item2"); 
newArray.push("item3"); 

$.ajax({ 
    type: "POST", 
    url: urlToPost, 
    data: JSON.stringify(newArray), 
    contentType: "application/json" 
    }); 
2

ich es so lieber tun:

dh.

var data = [{ name: 'test1', value: 'test data' }, { name: 'test2', value: 'test data' }]; 

$.ajax({ 
    type: 'POST', 
    url: 'url', 
    data: data, 
    }); 

Server-Seite (PHP): $_POST['test1'];$_POST['test2'];

Verwandte Themen