Доступ к веб-службам из JavaScript

Автоматические механизмы, которые предоставляет ASP.NET AJAX для доступа к веб?службам, использовать легко и удобно, так как они принимают на себя основной объем работ. Однако существуют ситуации, когда эти механизмы не работают. Например, представьте себе веб-службу (расположенную в том же домене), которая написана не на основе .NET, а с использованием какой-либо другой серверной технологии, такой как PHP или Java. Или представьте себе ситуацию, когда невозможно использовать ASP.NET AJAX по каким-либо причинам (например, из-за особой политики компании в отношении программных модулей от третьих фирм или из-за несогласия с лицензионными соглашениями). Так как эта книга не ограничивается использованием ASP.NET AJAX для написания Ajax?приложений на основе ASP.NET, в этом разделе будут рассмотрены альтернативные способы обращения к удаленным веб?службам из JavaScript.

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

Существует два возможных способа обратиться к веб-службе из сценария JavaScript.


Можно либо сделать ставку на объект XMLHttpRequest, либо написать соответствующий SOAP HTTP-запрос и затем выполнить интерпретацию данных, полученных от сервера. Реализовать это достаточно сложно, и при таком подходе легко допустить ошибку. Более надежный подход основан на использовании встроенных технологий или официально распространяемых дополнений к броузерам, которые возьмут решение этой проблемы на себя.

К сожалению, два основных типа броузеров – Internet Explorer и Mozilla (включая Firefox, Epiphany, Camino и другие броузеры) – используют совершенно разные подходы к работе с веб-службами. Таким образом, нам придется исследовать оба пути и рассмотреть эти броузеры по отдельности. В конце этого раздела мы объединим обе модели и создадим сценарий, более или менее независимый от типа броузера.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела ASP.NET AJAX на эту тему:
Веб-службы и Internet Explorer
Веб-службы и броузеры Mozilla
Веб-службы и броузеры обоих типов
Методы страницы
Обмен данными со сложной структурой

Вернуться в раздел: ASP.NET AJAX / Веб-службы