JSON编码与Services_JSON和json_encode在PHP返回空对象与jQuery ajax调用
JSON encoding with Services_JSON and json_encode in PHP returning empty object with jQuery ajax call
$.ajax({
url: '/ajax/get_rule.php',
dataType: 'json',
data: {
feature : feature,
ajax : 1
},
success: function(resp) {
console.log('in here');
console.log('response: ' + resp);
},
error : function() {
console.log('there was an error...');
}
});
我使用PHP PEAR Services_JSON类将我的数组编码为JSON字符串,然后在响应中回显,如下所示:
echo Registry('json')->encode(array('ajax' => 1, 'feature' => 'rfc1872'));
exit;
在上面的例子中,Registry('json')
是Services_JSON
的对象。
我也尝试了PHP内置函数json_encode
:
echo json_encode(array('ajax' => 1, 'feature' => 'rfc1872'));
exit;
这两种工作,虽然我不落入错误回调在jQuery ajax调用上面,我得到response: [object Object]
的响应值与Firebug中的空对象。
为什么我不会收到响应返回到我的jQuery代码与json编码的字符串?
正如Felix King在上面的评论中所提供的那样,这实际上是由于使用:
将resp
转换为字符串造成的:console.log('response: ' + resp)
改变:
console.log(resp);
解决了问题
相关文章:
- Twitter API JSON调用未获得最新的3条推文
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- Ajax注释将json调用到函数中
- 返回List<字符串>Jquery中的from JSON调用具有未定义的长度
- Web API在JSON调用上返回XML
- 如何不获取json调用的所有数据
- JSON调用返回'未定义'
- JSON响应中的JSON调用
- 从JSON调用SQL返回数组时出现问题
- 同步函数调用涉及post-json调用,其中一个函数应该在另一个函数成功后成功
- watch()函数无法在json调用上使用angular.js
- 简单的jQuery AJAX JSON调用
- 全局 JS 文件:仅执行一次 JSON 调用
- JSON 调用不会在 IE 10 中更新
- 对 asmx Web 服务的 Ajax/json 调用成功完成,但无法显示结果数据
- 在 json 调用后重定向
- 等待 json 调用在 javascript 中完成
- 无法访问 json-p 调用中的数据
- 从$http.get JSON调用中删除关键字
- 为什么我们在从ajax json调用获取响应时使用data.d