ajax-вызов firefox, возвращающий NS_ERROR_DOM_BAD_URI или ложную ошибку jsonp - PullRequest
1 голос
/ 01 ноября 2011

По отношению к невозможно отладить зависание $ .post в расширении Firefox

Может кто-нибудь сказать мне, почему мое расширение 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, но я все еще получаю parsererror.

Самое странное, что после того, как яизмените мой сервер так, чтобы он соответствовал JSONP. jquery выбирает метод ошибки, а текст xhr.statusText, который я здесь показываю alert(xhr.statusText);, выдает мне предупреждение с текстом состояния "success", почему jquery не выбирает метод успеха, когда он действительно работает ??1020 *

1 Ответ

0 голосов
/ 01 ноября 2011

Вы не можете получить данные из другого домена, из которого вы используете AJAX в настоящее время -> http://en.wikipedia.org/wiki/Same_origin_policy

Если вы используете тот же домен, то используйте относительные пути ... Я подозреваю, что Firefox кодирует часть URL e-ønsker.dk, что делает его похожим на другой домен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...