我有一个ajax发布参数如下:
$.ajax({
url:'url',
data:{ary:my_ary},
...
my_ary = Array([0]=> Test Text,[1]=> test Text2)
现在我需要使用 foreach()循环从这个数组中获取值:
foreach($_POST['ary'] as $val){
echo($val.'<br>');
}
但它显示以下错误
传递给foreach循环的无效参数
答案 0 :(得分:2)
在传递数组之前将数组转换为字符串,如下所示:
my_ary.join(',');
或者,如果它是一个复杂的数组,请考虑JSON:
JSON.stringify(my_ary);
如果是关联数组
$.ajax({
url:'url',
data:{
my_ary:JSON.stringify(my_ary);
}
答案 1 :(得分:1)
$.ajax({
url:'url',
data:JSON.stringify(my_ary)
你需要将解析数组放入字符串中。
我希望它可以帮到你
答案 2 :(得分:1)
或者您可以像这样设置查询字符串的格式:
var query_string = "action=" + "action_name" + "&data_id=" + data_id + "&nonce=" + nonce;
... 数据:query_string,
答案 3 :(得分:-1)
将来对某人有帮助
var jsonString = JSON.stringify(my_ary);
$.ajax({
type: "POST",
url:'url',
data: {data : jsonString},
});