firefox ajax调用返回NS_ERROR_DOM_BAD_URI或jsonp false错误

时间:2011-11-01 16:05:11

标签: javascript firefox jquery firefox-addon

can't debug hanging $.post in firefox extension

有关

任何人都可以告诉我为什么我的扩展程序https://builder.addons.mozilla.org/addon/1022928/latest/与此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)},
  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_ERROR_DOM_BAD_URI。 HttpFox表示这是一个500错误,表示内部错误,但这个确切的调用在他们的扩展中同时使用chrome和safari,所以我怀疑这个错误与firefox特别相关。

更新

所以我添加了dataType: "jsonp"并且做了一些魔术,现在我得到了200响应,但我仍然得到了一个解析错误。

最奇怪的是,在我修改我的服务器以容纳JSONP后,jquery选择了错误方法,而我在这里显示的xhr.statusText alert(xhr.statusText);给了我一个状态文本“成功”的警告为什么不会jquery在实际工作时选择成功方法??

1 个答案:

答案 0 :(得分:0)

您无法使用AJAX从当前使用的域中获取数据 - > http://en.wikipedia.org/wiki/Same_origin_policy

如果您使用相同的域,则使用相对路径...我怀疑Firefox正在编码网址的e-ønsker.dk部分 - 使其看起来像一个不同的域。