Кросс-доменный вызов не работает в FireFox и Chrome - PullRequest
0 голосов
/ 16 ноября 2010

Я делаю асинхронный запрос к другому серверу для некоторых данных, используя jquery.Он отлично работает в IE, но не работает в FireFox и Chrome, когда он достигает кода, где делается запрос на другой сервер, он там зависает и отображается пустая страница.Если я удалю этот кусок кода, Ajax работает нормально.

Кроме того, когда я помещаю точку останова в document.ready, точка останова срабатывает при отладке с помощью IE, но не при отладке с помощью FireFox.

Ниже приводится JQuery, который я использую

jQuery(document).ready(function ($) {

    $('.tabs a, .tabs span').livequery('click', function () {

        var currentTab = $(this).parents('li:first');

        if (!currentTab.is('.active')) {
            var currentContent = $('.tab_container .' + currentTab.attr('class'));

            $('.tabs li').removeClass("active");
            currentTab.addClass("active");
            var url = $(this).attr("href");

            var newContent = "";
            if (currentContent.length == 0) {
                $.get(url, {}, function (result) {
                    $('#tabs.tab_container div:visible').fadeOut(100, function () {
                        $('#tabs.tab_container')
                        .html(result)
                        .fadeIn(100);
                    });

                }, 'html');
            }
            else {
                $('#tabs.tab_container div:visible').fadeOut(100, function () {
                    currentContent.fadeIn(100);
                });
            }
        }
        return false;
    });
});

Любая помощь будет высоко оценена.

1 Ответ

2 голосов
/ 16 ноября 2010

В соответствии с документацией для jQuery.Get :

Из-за ограничений безопасности браузера большинство запросов "Ajax" подчиняются той же политике происхождения ;запрос не может успешно получить данные из другого домена, субдомена или протокола.

Если вам нужны ответы JSON, вам следует рассмотреть возможность использования опции JSONP, которая была добавлена ​​в Метод GetJSON .

Есть несколько человек, которые, однако, предоставили некоторые обходные пути для ограничения Get:

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