这是比其他任何事情更多的过程问题。我很好奇为什么会发生这种情况,我似乎无法在ECMA脚本文档中找到有关此“功能”的任何文档。Javascript自动分析嵌套对象
当我做内jQuery的到我的服务器AJAX调用,它将返回以下JSON响应页面:
{"version":"v1","status":"OK","timestamp":"2013-02-14 10:32:45","data":"true","error":""}
有了这个字符串我有打电话给jQuery.parseJSON(串);把它当作一个对象,并且能够把它作为一个对象来引用。
然而,当我的服务器返回是这样的:
{"version":"v1","status":"OK","timestamp":"2013-02-14 10:12:19","data":{"a":"asgsadfga","b":false,"c":[]},"error":""}
的Javascript自动加载此一个,而不需要解析的对象。看起来,因为这个例子返回一个嵌套的对象,尽管事实上它是从服务器返回的一个字符串,但Javascript会立即识别并解析字符串。
这是预期的功能,如果有的话,任何人都可以指向我的文档吗?
编辑:
这里是有问题的AJAX调用:
jQuery.ajax({
url: url,
type: 'GET',
async: false,
success: function (result) {
console.log(result)
}
显示您的代码,正在使AJAX调用,你说有事情发生,但没有表现出什么样的代码导致它 – 2013-02-14 17:51:47
我是问不关我的代码的问题,但更多的,为什么第一个字符串是只被jQuery解释为一个字符串,但第二个被解释为一个对象。对于我如何在前端和后端解决这个问题给出了各种答案。但我真正想知道的是,如果有什么智能猜测数据的内容类型是什么。 – Xenology 2013-02-14 18:40:18
你在这两种情况下对它的调用方式不同,对吗?不要隐藏你的代码,不要假设你知道发生了什么事情! – 2013-02-14 18:46:49