我正在尝试检索 JSON 对象中的数据(我已验证其格式正确)并将数据输出到 firebug 控制台。我使用 JSONLint (http://jsonlint.com/) 验证了 JSON,并且知道数据不会以 JSON 对象返回,因为当我记录它时,它记录为文本而不是对象。当我查看 ajax 帖子时,有一个 JSON 选项卡,它显示了该对象,但由于某种原因我无法检索它。
我的ajax调用是
$.ajax({
url:'/coords/base',
data: { type: obj.type, id: obj.id },
dataType:'text',
type:'get',
async:false,
success: function(data) {
console.log(data);
}
});
我的返回数据如下所示:
{
"1": {"name":"TEXT","coords":[
{ "entry":3,"x":15,"y":15 }
]}}
当我将 AJAX 调用设置为变量并添加 .responseText;到调用结束时,我可以检索 AJAX 调用的明文返回。我以为我可以只使用 $.serialize() 或 $.parseJSON() 但随后我收到错误“未捕获的异常:语法错误,无法识别的表达式”。
最终目标是从此responseText 检索内容并在我的文件中使用JSON 对象。此调用必须同步完成,因为它会加载重要数据。
任何帮助将不胜感激。
明确指示 jQuery 将响应视为文本:
$.ajax({
// ...
dataType: "text",
// ...
});
然后您将能够获取 JSON 字符串。但是,如果您打算此后将其转换为 JS 值,请允许我阻止您:jQuery 可以自动为您完成此操作。如果您指定dataType
to "json"
,或者只是让 jQuery 做出明智的猜测,data
参数传递给success:
函数将是解析后的 JSON 对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)