【发布时间】:2013-04-17 21:53:57
【问题描述】:
我有一个直接从 Web 浏览器中的本地文件加载的 html 页面(FF 14.0.1 或 Chromium,在 Ubuntu 12.04 上)
html页面包含一个本地的jQuery js文件,然后用这个方法包含一个本地的js文件:
function start() {
$.getJSON("http://localhost:8080/app/connect?callback=?", "id=11", function() { alert("win!"); })
.done(function() { alert("done"); })
.fail(function(xhr, request, error) { alert(xhr.status + "<> + request + "<>" + error); }); }
我正在响应来自 JBoss / Restful Web 服务器的这些请求,没有特殊配置,服务器上的方法使用 @Produces({"application/json"}) 进行注释。服务器没有显示任何错误,甚至正确获取了 id 值。
当我触发这个 javascript 时,fail 方法被调用并且我得到这个警报:
200<>parsererror<>jQuery311391951_513134 was not called
我可以在使用 Firebug 进行检查时看到 JSON 响应,看起来没问题。在 Chromium 中,我可以检查请求/响应标头,一切看起来都不错。如果有人认为它可能会提供更多见解,我已保存该文本。
谁能告诉我发生了什么事?为什么会出现此错误?
提前致谢!
【问题讨论】:
-
因为您期待 jsonp 响应,但您可能没有从服务器发送 jsonp 响应
-
您可以从网址中删除
callback=? -
啊,我需要修改服务器的响应!谢谢阿伦。以后这个请求可能不是本地的,所以我可能还需要回调参数?
标签: javascript jquery