Jquery не работает для внешних доменов - PullRequest
1 голос
/ 29 августа 2011

У меня есть функция в Jquery, которая пытается получить HTML со страницы:

$.ajax({
  type:'GET',
  url: 'http://www.google.com',
  success: function( data ) {
        alert( data );
  }
});

, почему не работает?в firebug я вижу заголовки связи.

Ответы [ 3 ]

2 голосов
/ 29 августа 2011

вы нарушаете SOP . Чтобы избежать SOP, вам, вероятно, понадобится серверный сценарий (на вашем хосте) для загрузки внешнего URL-адреса и возврата данных в ваш клиентский сценарий или использование службы, предоставляющей JSONP результаты.

0 голосов
/ 29 августа 2011

Кросс-домен $ .ajax запрещен из-за нарушения безопасности.Единственный междоменный вызов, который вы можете сделать в jQuery, - это запрос JSONP.

Пожалуйста, прочитайте мой ответ на этот вопрос: JavaScript: Как мне создать JSONP?

0 голосов
/ 29 августа 2011

Ну, из соображений безопасности Javascript не позволяет странице загружать страницу из внешних доменов.Этими соображениями безопасности является предотвращение угона форм пользователями, xss-атак и т. Д. Если вы по-прежнему хотите загружать внешние страницы, вы можете использовать iframes, иначе вам понадобится что-то вроде openId в вашем бэкэнде.

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