2016-04-06 55 views
1

我有這個數組如何發送數組PHP和AJAX

var Age=[$(".AJcountry").find(".focus").html()]; 

這AJAX

$.ajax({ 
    type: "GET", 
    url: '../connect.php', 
    data: "CountS=" + Age, 
    success: function (dataa) 
    { 
     alert(dataa); 
    } 
}); 

但它只返回上次選擇的item.How可我發送到PHP裏面的一切陣列

+0

'console.log(Age);'return? – Daan

回答

1

使用循環

var Age=[]; 

$(".AJcountry").find(".focus").each(function(){ 
Age.push($(this).html()); 
}); 

在阿賈克斯:

data: {CountS:Age}, 

在PHP你這樣做:

echo $_GET['CountS'][0];//get the first 

或環

+0

謝謝!它的工作 –

+0

不要忘記接受答案:p – madalinivascu

+0

它說等待10分鐘 –

0

如果你提供了一個對象的$.ajaxdata屬性,則jQuery將連載它給你:

data: { CountS: Age } 

另外請注意,雖然你把html()數組中的.focus元素的值,該數組將總是只包含一個字符串元素,所以在這種情況下數組本身似乎完全是多餘的。

+0

其實madalin的方式爲我工作。我試過你的答案它返回空白 –

0

數組轉換成JSON這樣的:

var json = JSON.Stringify(Age); 

然後通過AJAX發送它就像你正在做的:

data: {CountS: Age} 

在後端轉換JSON返回數組像這樣:

$json = json_decode($_GET['CountS']); 

該方法在傳輸數據之前將數據轉換爲非常小的文本字符串。 PHP後端然後將其轉換回數組。該方法也適用於JavaScript中的大多數對象。你可以閱讀更多關於JSON的信息here