Может ли Javascript в браузере использовать сокеты / получать информацию из Интернета самостоятельно? - PullRequest
0 голосов
/ 29 сентября 2011

Можно ли открывать сокеты и получать данные из Интернета в JavaScript.

Моя цель: работать с веб-данными с использованием JS.Я искал решение XmlHttp / AJAX, но нашел одно замечание, что AJAX можно использовать только для вызова программ localhost, которые будут использоваться в качестве прокси-сервера, а затем только возвращать данные из Интернета.

Это из-заМодель песочницы в браузерах, которая не позволяет работать с сокетами / другими сайтами из JavaScript, и работает только в localhost.

Существуют ли решения с JS для работы с остальным миром?

1 Ответ

1 голос
/ 29 сентября 2011

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

Если у вас нет контроля над запрашиваемыми службами (что, как я полагаю, у вас нет), вы можете использовать библиотеку javascript, например YUI или jQuery, для выполнения междоменного запроса за вас (который обычно использует Flash как данные прокси). Однако это будет работать только в том случае, если рассматриваемый вами сайт разрешает междоменные запросы от вашего домена (определено в crossdomain.xml).

...