【发布时间】:2012-06-18 07:05:51
【问题描述】:
我对 IE 有一种奇怪的行为。 在开发环境中,JSON 调用可以完美运行,而在生产环境中,即使状态码为 200,它们也会因“parsererror”而失败。 我在 stackoverflow 中看到了其他消息,但我之所以发布,是因为我在两个环境之间有这种不同的行为。
开发环境:Ubuntu / Tomcat 6.026
生产环境:Win 2003 服务器/Tomcat 6.0.33
【问题讨论】:
-
所以你在 IE 中打开 JSON 并且 IE 本身给出了解析器错误?如果是这样,我们谈论的是哪个版本的 IE?
-
IE9.如果你想看看:www。游戏它(没有空格)。我对产生 JSON 响应(对象数组)的底层 Web 服务执行 AJAX 请求(使用 jQuery)。然后调用错误钩子,我看到的错误是“parsererror”。我还尝试添加/删除响应标头,例如内容类型或字符集,但行为没有改变。
-
如果我直接从浏览器调用服务 URL,我会得到预期的响应。生成的 JSON 似乎没有格式错误(我使用的是 Spring Framework,我没有自己格式化 JSON 响应)
-
JSON确实可以被Firebug正确解析。我收到“无法连接解析器错误”;你在某处创建警报吗?
-
是的,我正在 jQuery.ajax 函数的错误钩子中创建警报(希望您能阅读)。
code $.ajax({ type : "GET", url : callEndpoint(projectServiceUrl, "paged", true), data : { "pageNumber" : page, "pageSize" : pageSize }, contentType: "application/json; charset:utf-8", cache: false, dataType : "json", success : function(result) { loadVisionsOnDom(result); }, error : function(x, e) { alert("Cannot connect\n" + e); } });
标签: ajax json internet-explorer parse-error