» ;
Или же если нужно отправить ряд параметров запроса с помощью GET-метода:
jQuery. get("/ajax/endpoint", {foo: "bar"}, function(data){
/ * . . . * /
» ;
Если с сервера ожидается возвращение данных в формате JSON, нужно вместо этого вызвать функцию jQuery. getDSON(), которая установит для параметра data - Туре запроса значение "json":
jQuery. getDSON("/j son/endpoint", function(j son){
});
Кроме этого есть еще функция jQuery. post (), которая также получает URL, данные и функцию обратного вызова:
jQuery. post(H/usersH, {first_name: "Alex"}, function(result){ /* Ajax POST завершен успешно */});
Если нужно воспользоваться другими HTTP-методами — DELETE, HEAD и OP TIONS, —придется воспользоваться имеющей более низкий уровень функцией
jQuery. ajax().
Этот был краткий обзор Ajax API, имеющегося в jQuery, но если нужно получить дополнительную информацию, следует обратиться к полной документации.
Ограничением для Ajax служит политика исходного источника (same origin policy), которая ограничивает запросы тем же доменом, субдоменом и портом, что и у адреса страницы, с которой сделаны эти запросы. На это есть веские причины: при отправке Ajax-запроса с ним вместе отправляется вся информация из cookie-файлов домена. Это означает, что для удаленного сервера запрос окажется от вошедшего в систему пользователя. Без применения политики исходного источника злоумышленник потенциально может скопировать все ваши адреса электронной почты из Gmail, обновить ваш статус на Facebook или направить сообщение читателям вашего Твиттера, что считается существенной прорехой в системе безопасности.
Но когда политика исходного источника встроена в систему безопасности Интернета, это также создает неудобства для тех разработчиков, которые пытаются обратиться к допустимым удаленным ресурсам. В других технологиях, например в Adobe Flash и в Java, были реализованы методы, позволяющие обойти проблему междоменных файлов политики, и теперь Ajax связан стандартом, который называется междоменным совместным использованием исходных ресурсов — CORS (cross-origin resource sharing).
CORS позволяет преодолеть барьер политики исходного источника, предоставляя доступ к авторизованным удаленным серверам. Эта спецификация полностью поддерживается всеми серьезными браузерами, поэтому если вы не пользуетесь IE6, все будет в порядке.
Использовать CORS довольно просто. Если нужно получить авторизованный доступ к вашему серверу, следует просто добавить несколько строк к НТТР-заголовку возвращенных ответов:
Access-Control-Allow-Origin:
Access-Control-Request-Method: GET, POST
Показанный выше заголовок проведет авторизацию междоменных GET-и POST-запросов с . Несколько значений нужно отделять друг от друга запятыми, как это было в нашем примере со значениями GET, POST. Чтобы открыть доступ с дополнительных доменов, их нужно просто перечислить в заголовке Access-Control-Allow-Origin, используя в качестве разделителей запятые. Можно открыть доступ для любого домена, просто указав для заголовка источника (origin) звездочку (*).
Некоторые браузеры, например Safari, сначала сделают запрос OPTIONS, что бы проверить допустимость запроса. А вот Firefox сделает запрос, и если CORS-заголовки не установлены, просто выдаст защитное исключение. Эту разницу в поведении нужно будет учесть на стороне сервера.
Можно даже авторизовать заголовки специализированного запроса, воспользовавшись заголовком Access-Control-Request-Headers:
Access-Control-Request-Headers: Authorization
Это означает, что клиенты могут добавить к Ajax-запросам специализированные заголовки, например давая запросу подпись открытого протокола авторизации OAuth:
var req = new XMLHttpRequest(); req. open("POST", "/endpoint", true);
req. setRequestHeader("Authorization", oauth_signature);
К сожалению, несмотря на то что CORS работает с версиями Internet Explorer от 8 и выше, Microsoft решила проигнорировать спецификацию и рекомендации рабочей группы. Microsoft создала свой собственный объект, XDomainRequest, который также предназначался для использования вместо XMLHttpRequest в случае междоменных запросов. Хотя его интерфейс аналогичен интерфейсу XMLHttpRequest, у него есть ряд препятствий и ограничений. Например, работают только методы GET и POST, не поддерживаются аутентифицирующие или специализированные заголовки, и наконец, что совсем неожиданно, поддерживаются только заголовки «Content-Type:text/plain». Если вы готовы мириться с такими ограничениями, то, используя правильные заголовки Access-Control, вы можете воспользоваться CORS при работе в IE.
2 Фреймворк AngularJS
AngularJS является основой веб-приложений с открытым исходным кодом. Изначально он был разработан в 2009 году Misko Hevery и Adam Abrons. Cейчас поддерживается поддерживается Google. Его последняя версия 1.5 и AngularJS 2 beta.
Определение AngularJS, в его официальной документации выглядит следующим образом — AngularJS представляет собой структурную основу для динамических веб-приложений. Это позволяет использовать HTML в качестве языка шаблонов и позволяет расширить синтаксис HTML, чтобы выразить компоненты вашего приложения четко и лаконично. Связывание данных и внедрения зависимостей устранит большую часть кода, который вам в настоящее время приходится писать. И все это происходит в браузере, что делает его идеальным партнером с любой серверной технологией.
2.1 Особенности AngularJS
AngularJS является мощным JavaScript фермворком для создания многофункциональных интернет-приложений (RIA).
AngularJS предоставляет возможность разработчикам писать приложения на стороне клиента (с помощью JavaScript) с чистым MVC (Model View Controller).
Приложение, написанное в AngularJS является кросс-браузерное. AngularJS автоматически обрабатывает JavaScript код, подходящий для каждого браузера.
AngularJS является open source, полностью бесплатный, и используется тысячами разработчиков по всему миру. Распространяется под лицензией Apache License версии 2.0.
В целом, AngularJS является основой для построения крупномасштабных, высокопроизводительных веб-приложений, сохраняя простоту в обслуживании.
Основные особенности AngularJS
Ниже приведены наиболее важные основные черты AngularJS —
Data-binding — Это автоматическая синхронизация данных между моделью и представлением.
Scope — Это объекты, которые относятся к модели. Они действуют как клей между контроллером и видом.
Controller — Эти функции JavaScript, которые связаны с конкретным Scope.
Services — AngularJS поставляются с несколькими встроенными служб, например, $http, чтобы сделать XMLHttpRequests. Это одноэлементные объекты, которые построены по принципу singleton.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


