将数组从Javascript发送到php
我想将数组发送到服务器 以下是我尝试发送阵列的方式:将数组从Javascript发送到php,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我想将数组发送到服务器 以下是我尝试发送阵列的方式: jQuery(文档).ready(函数($){ $.ajax({ 类型:“POST”, url:“file.php”, 数据类型:“json”, 数据:JSON.stringify({姓名:“Daniel”,电话:“01234123456”}), 成功:函数(msg){ 警惕(“成功!”); } }); }); 这就是我如何在file.php中获取数组的方法 print\r($\u POST); 打印(美元);; 打印(json解码($);
jQuery(文档).ready(函数($){
$.ajax({
类型:“POST”,
url:“file.php”,
数据类型:“json”,
数据:JSON.stringify({姓名:“Daniel”,电话:“01234123456”}),
成功:函数(msg){
警惕(“成功!”);
}
});
});
这就是我如何在file.php中获取数组的方法
print\r($\u POST);
打印(美元);;
打印(json解码($);
当然,在firebug控制台中,我看到了数组,但在页面上看不到。您当前正在发送数据,即JSON-java脚本对象表示法格式的“数组” 不可能跨JSON(至少在jQuery ajax中)发送数据。在发送数据之前,必须先对其进行字符串化,然后在php端对其进行解码(就像您已经做的那样,这一部分是正确的)。您必须执行以下操作:
data: JSON.stringify({ name: "Daniel", phone: "01234123456" }),
希望这有帮助!您是如何测试的?我看到了数组,但没有在页面上。顺便说一句,您从未将结果打印到屏幕上-您必须在成功回调函数中,将它们添加到DOM中,否则默认情况下它们将不只是通过magicquery显示在那里。如果
数据
包含对象,则将对其进行urlencoded,并显示请求t标题内容类型:将设置应用程序/x-www-form-urlencoded
。在OP的情况下,数据将在PHP中的$\u POST['name']
和$\u POST['phone']
中可用。