我试图检索一个JSON对象数据(我已经验证是正确的格式)和输出数据到Firebug控制台。我使用JSONLint(http://jsonlint.com/)验证了JSON,并且知道数据不会返回到JSON对象中,因为当我登录它时,它将记录为文本而不是对象。当我查看ajax文章时,有一个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对象。这个调用必须同步完成,因为它加载了重要的数据。
任何帮助将不胜感激。
你是如何从服务返回的数据?响应类型是application/json吗? – 2011-06-06 20:50:20
如果您移除转换器块,它有什么区别吗?这:转换器:{“text json”:$ .parseJSON()}。因为dataType:“json”应该这样做 – Fredrik 2011-06-06 20:51:19
为什么要定义自己的转换器?JSON编码已经内置,我认为你提供的转换器是错误的。 – Daff 2011-06-06 20:51:50