AJAX-запрос на получение результатов от Google - PullRequest
1 голос
/ 20 января 2010

Я хочу изменить код в этом примере AJAX , чтобы получить результаты от Google.

Я вынимаю строку с вызовом метода Random (), но как мне работать со строкой запроса в JavaScript? Как мне лучше всего это сделать, используя XMLHttpRequest для ручной сборки запроса (это для тестирования, поэтому его нужно делать вручную, а не с помощью фреймворка).

Спасибо

1 Ответ

3 голосов
/ 20 января 2010

Нельзя использовать XMLHttpRequest с абсолютным URL-адресом, таким как http://www.google.com/....

Браузер предотвратит межсайтовый скриптинг . Вы должны использовать относительный путь, иначе большинство браузеров просто вернут пустой responseText.

В качестве одного из возможных обходных путей вы можете установить очень простой обратный прокси (используя mod_proxy , если вы используете Apache). Это позволит вам использовать относительные пути в вашем AJAX-запросе, в то время как HTTP-сервер будет действовать как прокси для любого «удаленного» местоположения.

Основная директива конфигурации для настройки обратного прокси в mod_proxy - это ProxyPass. Обычно вы используете его следующим образом:

ProxyPass     /ajax/     http://www.google.com/search

В этом случае браузер будет запрашивать /ajax/?hl=en&source=hp&q=test, но на самом деле сервер будет выполнять эту функцию, выступая в качестве прокси для http://www.google.com/search?hl=en&source=hp&q=test.

Если вы используете IIS, вы можете использовать Managed Fusion URL Rewriter и обратный прокси для настройки обратного прокси.

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