将AJAX返回数据转换为JSON
|
我正在尝试检索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对象。此调用必须同步进行,因为它会加载重要数据。
任何帮助将不胜感激。
没有找到相关结果
已邀请:
2 个回复
为陡土
然后,您将能够获取JSON字符串。但是,如果您打算此后将其转换为JS值,请让我停止:jQuery可以自动为您完成此操作。如果您将
指定为
,或者只是让jQuery做出明智的猜测,则传递给
函数的
参数将是解析的JSON对象。
柑恫祟
然后,您应该可以执行以下操作:
编辑 也许,我误解了这个问题。 编辑#2 也许这个问题会有所帮助: 是否有不使用回叫的$ getJSON版本? 建议使用此方法:
当然,看起来像您所拥有的,所以我觉得我需要退后一步,重新分析问题。