2013-09-30 44 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