Запустить ajaxError для кросс-доменного вызова $ .ajax? - PullRequest
2 голосов
/ 22 марта 2011

У меня проблемы с запуском глобального обработчика jjuery ajaxError, когда я использую вызов $ .ajax (при междоменном вызове).Есть ли способ получить его в огонь?

Я включил быстрый и грязный тест (адаптированный из Итак, как работает $ .ajaxError? ) ниже.На самом деле, ни одно из глобальных событий ajax не сработает, даже если я явно установлю для global значение true. Если я преобразую $ .ajax в $ ('результат'). Загрузка работает нормально, но это не то, что мне нужно.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>jQuery Sandbox</title>
  </head>
  <body>
    <div class="trigger">Trigger</div>
    <div class="result"></div>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script type="text/javascript">
      $(function () {
        $(document).ajaxError(function (e, xhr, settings, exception) {
          alert(I broke);
        });

        $('.trigger').click(function () {
          $.ajax({
            type: "GET",
            global: true,
            url: 'http://localhost/error',
            success: function(data){
              alert('ftw');
            },
            dataType: "jsonp",
          });
        });
      });
    </script>
  </body>
</html>

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 марта 2011

Читать здесь JQuery AJAX

Некоторые типы запросов Ajax, такие как JSONP и междоменные GET-запросы, не используйте XHR; в этих случаях XMLHttpRequest и textStatus параметры, переданные в обратный вызов не определено.

Лучше использовать curl для междоменного вызова

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