jquery.post不适用于对象文字
类似于我所做的: e、 g 我的php rest函数:jquery.post不适用于对象文字,jquery,slim,Jquery,Slim,类似于我所做的: e、 g 我的php rest函数: function postContact(...) { $request = Slim::getInstance()->request(); $body= json_decode($request->getBody()); print_r($body); } 为什么我不能使用jQueryAPI中描述的对象文字?是我的服务器端还是客户端出错了?jQuery实际上并没有在PHP脚本中发布“对象文字”。它被转
function postContact(...) {
$request = Slim::getInstance()->request();
$body= json_decode($request->getBody());
print_r($body);
}
为什么我不能使用jQueryAPI中描述的对象文字?是我的服务器端还是客户端出错了?jQuery实际上并没有在PHP脚本中发布“对象文字”。它被转换为查询字符串,并作为POST数据发送,就像您通常发布表单一样 您不需要
json\u解码
任何东西,只需要读取$\u POST
数组,并获取其值
最后两个示例是有效的,因为您将JSON字符串作为帖子正文发送,而其他示例将标准查询字符串作为帖子正文发送。您理解错了。传递对象文字将导致jQuery将对象的每个属性作为键,并将所有值转换为字符串,并将其转换为post参数,其形式为
key1=val1&key2=val2
。当然,这不是JSON,因此JSON\u decode
会自动失败。如何定义对象?使用“e.g…”编辑以使其更清晰,谢谢。我的错误是,我假设第二个参数将转换为JSON。文档中很清楚,这只是发布数据。。。
$.post('http://...', {name:'test'}, function(data) {...});
function postContact(...) {
$request = Slim::getInstance()->request();
$body= json_decode($request->getBody());
print_r($body);
}