使用ajax调用将数组和单个字符串传递给PHP文件

pass array and individual string to php file using ajax call

本文关键字:PHP 文件 字符串 单个 调用 ajax 数组 使用      更新时间:2023-09-26

我尝试实现以下代码

 var flag = new Array();
 var name = $("#myselectedset").val();      
$.ajax({
    type:         'post',
    cache:         false,
    url:          'moveto.php',
    data:     {'myselectset' : name,
              'my_flag' : flag
              },
    success: function(msg){
                     $("#statusafter").ajaxComplete(function(){$(this).fadeIn("slow").html(msg)});
                      }     
          });       

你可以看到,名称是一个字符串和标志是一个数组,我使用正确的格式传递他们抛出ajax调用,任何人都可以帮助我,谢谢

不可能在POST请求中传递数组。只有字符串。

你要么需要字符串化你的数组,要么考虑作为JSON发布。

您应该能够做一些非常简单的事情,比如将您的"data"属性替换为:

data : JSON.stringify( { myselectset : name, my_flag : flag } )

将数据转换为JSON字符串,您可以在另一端使用json_decode($_POST["my_flag"]);将其转换为PHP

非常重要的提示:

为JSON。要使字符串化工作,数组中不能有任何函数——甚至不能有对象方法的函数。

另外,因为这是一个快速的示例,所以请确保您正在测试null数据和所有其他最佳实践。