Междоменный JavaScript для доступа к localhost. Возможный? - PullRequest
5 голосов
/ 19 мая 2010

по той или иной причине мне нужен javascript для доступа к веб-серверу на локальном хосте. Этот локальный веб-сервер находится под нашим контролем, поэтому в нем может быть запущено любое программное обеспечение.

Как бы вы это сделали? Я видел такие вещи, как YQL, но он обращается к другому домену из Интернета . Этот вид доступа вызывает много проблем с брандмауэрами и тому подобным. Поэтому я хочу получить доступ к тому же компьютеру, на котором работает браузер.

Как бы вы сделали это с javascript и любым другим программным обеспечением, работающим на локальном сервере?

Кроме того, javascript запускается с интернет-сайта. И сервер localhost не будет работать на том же порту, где находится интернет-сайт.

Возможно ли это сделать? Я знаю о междоменных ограничениях, но я также видел, что есть способы обойти их, такие как YQL. Как работает что-то вроде YQL? Как бы вы это реализовали?

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Вы можете попробовать что-то вроде JSONP .

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

0 голосов
/ 19 мая 2010

Поскольку это другой порт, применяются ограничения безопасности для междоменного доступа.

Вы можете использовать вызов getJSON в jQuery для междоменного доступа:

http://api.jquery.com/jQuery.getJSON/

Вот учебник IBM о том, как это делается с помощью вызова jQuery, упомянутого выше (с JSONP):

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

Если вы используете IE, вы можете быстро найти обходной путь, настроив сайт, к которому вы пытаетесь получить доступ, из сценария к вашим доверенным сайтам, установив безопасность для опции «Доступ к источникам данных через домены».

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