有没有其他人注意到网络面板中 Chrome 的预览选项卡现在将 json 输出为字符串(就像响应选项卡一样)而不是将其格式化为树?
如果是这样,你能指出正确的方向来解决它吗?
Chrome 版本为 43.0.2357.81 m
干杯!
您是否为响应设置了正确的内容类型标题? 例如,在 PHP 中:
header('Content-Type: application/json');
JSON 结果集可能不会作为对象处理的原因取决于 JSON 的形成方式。结果 JSON 字符串必须使用 double quotes 作为键和值,以便将其解析为对象。
换句话说,返回:
{ "msg" : "Success...", "numRows" : 23, "records" : [ { "name" : "Tony", ... ] } }
当我的 JSON 结果集停止被解析为对象时,其他人添加了使用 single quotes 作为键和/或值的 JSON。
{ "msg" : "Success...", ... , 'archiveMsg' : 'Using archive data' }
只用了一次在数据结构中使用单引号就中断了显示。它在 JavaScript 中仍然可以正常运行,但我不知道为什么 AJAX 结果 JSON 现在是一个未解析的字符串,而不是一个对象。花了一些时间来侦探那个。
Chrome 和 Brave 是我测试过的唯一浏览器。
注意:可以返回“application/json”的标头类型,但 Chrome 和 Brave 只是“漂亮地打印”了 JSON 结构。不理想,但它帮助我一瘸一拐地前进,直到我弄清楚真正的问题是什么。