我通过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 ....
我该如何解决这个问题? 感谢您的帮助。感谢
更新更新
发现错误行:
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"];
然后它没有显示错误...
答案 0 :(得分:0)
请尝试添加引号,
即,
$.ajax({
type: "POST", url: "update.php",
data: {'srcarray': srcarray} //added quotes here 'srcarray'
});
或只是简单地传递数据,
$.ajax({
type: "POST", url: "update.php",
data: srcarray
});
答案 1 :(得分:0)
在这里找到答案https://stackoverflow.com/a/17876165/1575921
使用$.get()
data: { "images" : array.get() }
答案 2 :(得分:-1)
$ .ajax的数据必须是一个字符串,或者是“PlainObject”(基本上是一个用“{}”或“new Object()”创建的简单数组,它出现了。) / p>
您可能希望通过JSON.stringify传递srcarray arg,例如在此代码段中:
$.ajax({
type: "POST", url: "update.php",
data: {srcarray: JSON.stringify(srcarray)}
})
这样你就会有一个字符串,应该很容易转换回另一端的数组。