如何在jquery中使用Ajax传递带有值的数组,并获取Php页面中的值

时间:2017-06-19 07:29:39

标签: php jquery ajax

我有一个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循环的无效参数

4 个答案:

答案 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}, 
        
    });