据我所知使用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) );