【发布时间】:2011-06-06 20:45:26
【问题描述】:
我正在尝试检索 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 对象。此调用必须同步完成,因为它会加载重要数据。
任何帮助将不胜感激。
【问题讨论】:
-
如何从服务返回数据?响应类型是application/json吗?
-
删除转换器块有什么不同吗?这:转换器:{“文本 json”:$.parseJSON()}。因为 dataType:"json" 应该这样做
-
为什么要定义自己的转换器? JSON 编码已经内置,我认为您提供的转换器是错误的。
-
我已经移除了转换器,并发布了更新的当前代码。
-
那么你是如何从你的服务返回数据的呢?什么语言?您是否在响应中设置标题?等等等等等等?客户端上的一切看起来都不错,passcod 的小提琴看起来也不错 - 这告诉我你在服务端遇到了问题。
标签: jquery ajax json uncaught-exception