jquery无法转换json响应

Posted

技术标签:

【中文标题】jquery无法转换json响应【英文标题】:jquery cant transform json response 【发布时间】:2011-06-03 02:08:15 【问题描述】:

我正在使用带有表单插件的 jquery 来处理提交,但是当客户端收到服务器响应时,它无法将其传递给 json 对象:

var options =  
    success: showResponse,   
    dataType: 'json',
    error: errorhandler
;
$('#UserEditForm').ajaxForm(options);

使用 _json_encode_ php 函数生成服务器响应。 当我提交表单时,总是会调用 errorhandler 函数,并使用 firebug 检查响应,它在第一个“”

之后带有某种空格
" "status":1""

,用 utf-8 编码和类似的东西:

""status":1"

使用 iso-8859-1

谢谢!!

【问题讨论】:

来自服务器的 JSON 响应实际上是什么样的?例如,在 Firebug 或 Chrome 的开发工具中或...? 【参考方案1】:

您是否在服务器回复中发送标头?

否则,请尝试:

header('Content-type: application/json');

另外,我遇​​到了 jQuery 无法正确读取 JSON 中的一些大块数据的问题,我使用了来自 json.org 的 parse 方法:https://github.com/douglascrockford/JSON-js/blob/master/json2.js

【讨论】:

我尝试添加标题,但这样的行为最糟糕!

以上是关于jquery无法转换json响应的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 jQuery 在 html 中获取来自 REST Web 服务的 json 响应

jQuery $.post 处理 JSON 响应

jQuery自动完成JSON响应

无法反序列化 JSON 响应

jQuery:为 json 响应设置编码为 utf8

Nodejs - Express JSON 解析器无法响应