Jquery getJSON не работает на разных сайтах

У меня есть фрагмент javascript, который захватывает данные JSON. При локальном запуске все работает нормально. Однако, когда я пытаюсь получить к нему доступ с другого сайта, это не работает.

Вот сценарий.

$(function(){
    var aT = new AjaxTest();
    aT.getJson();
});

var AjaxTest = function()
{
    this.ajaxUrl = "http://mydeveloperpage.com/sandbox/ajax_json_test/client_reciever.php";

    this.getJson = function(){
        $.getJSON(this.ajaxUrl, function(data){
            $.each(data, function(i, piece){
                alert(piece);
            });
        });
    }
}

Вы можете найти копию точно такого же файла по адресу "http://mydeveloperpage.com/sandbox/ajax_json_test/< /а>».

Любая помощь будет принята с благодарностью.

Спасибо!


person CJ.    schedule 14.06.2010    source источник


Ответы (1)


Из документации:

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

  • Запросы Script и JSONP не подпадают под действие одних и тех же ограничений политики происхождения.

Вам нужно будет использовать JSONP, чтобы обойти политику того же источника. jQuery может сделать это бесшовным (см. остальную часть вышеупомянутой страницы документации).

person Matt    schedule 14.06.2010