jquery – 如何使用XMLHttpRequest将数组发送到服务器

据我所知使用ajax你可以发送数据到服务器,但我很困惑发送数组发布使用 XMLHttpRequest而不是像jQuery这样的库.我的问题是,是否可以使用XMLHttpRequest将数组发送到PHP以及jQuery如何将数组发送到PHP,我的意思是jQuery是否会做任何额外的工作来将数组发送到服务器(PHP $_POST)?

解决方法

那么除了一串字节之外你不能发送任何东西. “发送数组”是通过序列化(使对象的字符串表示)数组并发送它来完成的.
然后,服务器将解析字符串并从中重新构建内存中的对象.

因此将[1,2,3]发送到PHP可能会发生如下情况:

var a = [1,3],xmlhttp = new XMLHttpRequest;

xmlhttp.open( "POST","test.PHP" );
xmlhttp.setRequestHeader( "Content-Type","application/json" );
xmlhttp.send( '[1,3]' ); //Note that it's a string. 
                          //This manual step Could have been replaced with JSON.stringify(a)

test.PHP的:

$data = file_get_contents( "PHP://input" ); //$data is Now the string '[1,3]';

$data = json_decode( $data ); //$data is Now a PHP array array(1,3)

顺便说一句,使用jQuery你会做的:

$.post( "test.PHP",JSON.stringify(a) );

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...