0

我通过 ajax 发布数组,例如:

console.log(srcarray); //["16.png", "17.png", "19.png", "18.png"]

$.ajax({
    type: "POST", url: "update.php",
    data: {srcarray: srcarray}
})

得到错误:

TypeError: Type error       jquery-1.10.1.min.js:6

我尝试添加processData: false, contentType: false,似乎不起作用,不会显示错误但无法将数据发布到 php....

我怎样才能解决这个问题?
感谢你的帮助。谢谢

UPDATE UPDATE
发现错误行:
t = x.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)

更新

数组来了

下面是容器中每个函数的代码,因此 console.log(content_img_arr_merge) 将得到结果:

["16.png"、"17.png"、"19.png"、"18.png"]
["0.png"]
["0.png"]
[]
[]

$.each(content_img_arr_merge, function (index, value) {
    content_img_arr_merge[index] = value.replace("u_img/"+id+"/", "");
});
console.log(content_img_arr_merge);   

如果我更改代码测试:

$.each(content_img_arr_merge, function (index, value) {
    content_img_arr_merge[index] = value.replace("u_img/"+id+"/", "");
});
console.log(content_img_arr_merge); 
content_img_arr_merge = ["16.png", "17.png", "19.png", "18.png"];

然后它不显示错误...

4

3 回答 3

0

请尝试添加引号,

IE,

$.ajax({
    type: "POST", url: "update.php",
    data: {'srcarray': srcarray} //added quotes here 'srcarray'
});

或仅传递数据数组,

    $.ajax({
        type: "POST", url: "update.php",
        data: srcarray
    });
于 2013-07-26T04:50:58.670 回答
0

在这里找到答案https://stackoverflow.com/a/17876165/1575921
使用$.get() data: { "images" : array.get() }

于 2013-07-26T08:44:55.440 回答
-1

$.ajax 的数据 arg 必须是一个字符串,或者一个“ PlainObject ”(基本上,它是一个用“{}”或“new Object()”创建的简单数组)。

您可能希望通过 JSON.stringify 传递 srcarray 参数,例如在此代码段中:

$.ajax({
    type: "POST", url: "update.php",
    data: {srcarray: JSON.stringify(srcarray)}
})

这样,您将拥有一个字符串,该字符串应该可以轻松地转换回另一端的数组。

于 2013-07-26T04:07:21.223 回答