关于我的错误的怪异之处是,它仅发生在我在本文底部链接到的firefox扩展中。我无法在任何其他设置下重现此错误。
我有这个ajax请求
$.ajax({ type: "GET", dataType: "jsonp", url: url, jsonpCallback: "JSONCallback", data: {title:$("#txtTitle").val(), url:taburl}, success: function(data, textStatus) { if(data.code > 0) { $("#icon").removeClass().addClass('accept'); } else { $("#icon").removeClass().addClass('error'); if(data.code == '-1') alert('kunne ikke finde din ønskeseddel på e-ønsker.dk - besøg e-ønsker.dk, og prøv derefter igen'); } }, error: function(xhr, textStatus, errorThrown) { alert("XMLHttpRequest="+xhr.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown); $("#icon").removeClass().addClass('error'); } });
服务器返回
JSONCallback({"code":405});
标头是 application/json
application/json
那么,为什么我收到parseError却说未调用JSONCallback的原因?我以为jQuery应该为我解决这个问题?
该代码来自 http://builder.addons.mozilla.org/addon/1022928/latest,相关文件为data/panel.js
data/panel.js
问题出在哪里window。解决此问题的最简单方法是编辑jQuery代码(我知道,我也讨厌这样做)以使用unsafeWindow而不是window。
window
unsafeWindow