Я пытаюсь загрузить внешний контент с помощью функции загрузки jQuery для div на моей странице. Метод load работает нормально, с локальным контентом, но если вы хотите что-то из вашего домена, он не будет работать.
$("#result").load("http://extrnal.com/page.htm #data);
(на самом деле он работает в IE с предупреждением безопасности, но вообще отказывается работать в Chrome). Документация jQuery говорит, что это правильно, потому что междоменный контент ограничен по соображениям безопасности. То же предупреждение я получу, если использую метод .getJSON.
ОК, немного погуглив, я нашел очень интересный подход с использованием YQL для загрузки контента, я попробовал несколько примеров, таких как:
var request = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3Dyhoo%22&format=json&diagnostics=true&callback=?";
$.getJSON(request, function (json) {
alert(json);
}
);
И это действительно работает!
Что я не понимаю сейчас, так это то, что http://query.yahooapis.com также является междоменным ресурсом, но браузер (и IE, и Chrome) работает нормально с этим?
Какая разница? Чего мне не хватает?
Спасибо