2013-09-30 62 views
0

我目前正試圖發送一個JavaScript數組到我的.php文件處理程序並將其保存到我的數據庫。

請求成功,但似乎我的數組沒有得到POSTED /正確保存。 在我的POST請求源中,它只是變成:round_items%5B%5D=1

我錯過了什麼?

id = 5; 
var roundChallenges = new Array("item1", "item2", "etc"); 

//Save the data 
var url = path.php; 

var request = $.ajax({ 
    type: "POST", 
    url: url, 
    dataType: 'json', 
    data: { uid: id, round_items: roundChallenges }, 

    success: function(data) 
    {.... 
+6

繼續之前,請了解'Java'和'javascript'之間的區別。 –

+0

你在php端使用json_decode嗎? – carter

+2

'dataType'屬性與*服務器的響應數據類型*相關,而不是發送*到服務器的請求數據。 – Boaz

回答

1

round_items%5B%5D=1是正確的。這就是它應該發送的內容。解碼爲round_items[]=1,這是您在查詢字符串中創建數組的方式。

當你傳遞一個對象到$.ajax時,jQuery將它轉換爲查詢字符串,一種標準的傳輸格式。

在PHP中,你不需要json_decode或任何東西。它會爲你解析它到$_POST$_POST['round_items']將是一個數組,而$_POST['uid']將是您的id