怎样用PHP获取Ajax的send方法发送的内容?

来源:百度知道 编辑:UC知道 时间:2024/09/22 14:22:02
刚开始学习Ajax,看的是《Ajax基础教程》这本书。学到JSON的时候,我不会用PHP服务端读取Ajax发送的JSON数据,请大家帮忙,谢谢大家了。部分代码如下:

... ...

var car = getCarObject();
var carAsJSON = JSON.stringify(car);

var url = "JSONExample.php";

createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
alert(carAsJSON); // 输出:{"make":"Dodge","model":"Coronet R/T","year"...
xmlHttp.send(carAsJSON);

... ...

这是原书例子的一部分,原书用的是Java Servlet作为服务端技术,我现在想用PHP处理,请问该如何获取carAsJson的值,我用$_POST数组时无法获取的。
我现在想先不处理JSON数据,只是让服务器端接收这个字符串,我该怎么实现?

正常情况下载php中用$_POST['make'],$_POST[model]得到
现在如果你不搞ajax研究,只是使用的话,用jquery中的.ajax函数就可以
用法是这样的
function myajax(ajaxurl,para){
//ajax提交函数
$('#LoadingStatus').show();//显示进度条
$.ajax({
url: ajaxurl,
type: 'POST',
dataType: 'html',
timeout: 20000,//超时时间设定
data:para,//参数设置
beforeSend: function(XMLHttpRequest){

},
error: function(){alert('error');$('#LoadingStatus').hide(2000);},//错误处理,隐藏进度条
success: function(html){
//加载成功处理
$('#LoadingStatus').hide(2000,function(){ alert(html); });
//$('#msg').html(html);
}
});

juery手册下载地址:http://codefans.net:86/7/200812/jquery-API_CHM.rar
}

传过来的肯定是个json字符串,PHP有特定的函数,翻翻手册就找到了

mixed json_decode ( string json [, bool assoc] )
Takes a JSON