Javascript firefox ajax调用返回NS\u错误\u DOM\u错误\u URI或jsonp错误
关于 有人能告诉我为什么我的扩展与这个ajax调用结合在一起:Javascript firefox ajax调用返回NS\u错误\u DOM\u错误\u URI或jsonp错误,javascript,firefox,jquery,firefox-addon,Javascript,Firefox,Jquery,Firefox Addon,关于 有人能告诉我为什么我的扩展与这个ajax调用结合在一起: var url = 'http://e-ønsker.dk/wishlist/ajax/add/'; $(this).hide(); //show icon loading $("#icon").show(); $.ajax({ type: "POST", url: url, data: {title:$("#txtTitle").val(), url:encodeURIComponent(taburl)}, suc
var url = 'http://e-ønsker.dk/wishlist/ajax/add/';
$(this).hide();
//show icon loading
$("#icon").show();
$.ajax({
type: "POST",
url: url,
data: {title:$("#txtTitle").val(), url:encodeURIComponent(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(data, textStatus) {
alert(textStatus);
$("#icon").removeClass().addClass('error');
}
});
正在返回错误NS\u error\u DOM\u BAD\u URI。HttpFox表示,这是一个500错误,表示存在内部错误,但这个确切的调用在chrome和safari的扩展中都有效,所以我怀疑这个错误与firefox有关
更新
因此,我添加了数据类型:“jsonp”
,这起到了一些神奇的作用,现在我得到了200个响应,但仍然得到了一个解析器错误
最奇怪的是,在我修改服务器以适应JSONP之后,jquery选择了错误方法,我在这里显示的xhr.statusText
alert(xhr.statusText)
向我发出一个状态文本为“success”的警报,为什么jquery在实际工作时不选择success方法???您无法从当前使用AJAX的域中获取数据->
如果您使用的是同一个域,请使用相对路径。。。我怀疑Firefox正在对url的
e-ønsker.dk
部分进行编码,使其看起来像一个不同的域。你确定jsonp
?试试json
你的URL中的字母“ø”肯定有问题-文件编码错误?@3nigma-json给了我NS\u ERROR\u DOm\u BAD\u URIerror@WladimirPalant-你是100%吗?这是一个丹麦url,我将其更改为同义域名,但这仍然给了我一个解析器错误。当我输入http://e-ønsker.dk/wishlist/ajax/add/
进入我的浏览器(chrome)它被更改为http://xn--e-nsker-r1a.dk/wishlist/ajax/add/
在Firefox上,此更改不会发生。。。但是当使用ajax时,它可能很好——我建议使用相对路径来消除名称更改/编码的问题。。。。。