AngularJS XMLHttpRequest
$httpЭто основной сервис в AngularJS, используемый для чтения данных с удалённого сервера.
Формат использования:
// 简单的 GET 请求,可以改为 POST
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// 请求成功执行代码
}, function errorCallback(response) {
// 请求失败执行代码
});
Сокращённые методы
Формат сокращённых методов POST и GET:
$http.get('/someUrl', config).then(successCallback, errorCallback);
$http.post('/someUrl', data, config).then(successCallback, errorCallback);
Кроме того, существуют следующие сокращённые методы:
- $http.get
- $http.head
- $http.post
- $http.put
- $http.delete
- $http.jsonp
- $http.patch
Подробнее см.:https://docs.angularjs.org/api/ng/service/$http
Чтение JSON-файла
Ниже приведён JSON-файл, хранящийся на веб-сервере:
https://www.example.com/try/angularjs/data/sites.php
AngularJS $http
AngularJS $http — это сервис, используемый для чтения данных на веб-сервере.
$http.get(url) — это функция, используемая для чтения данных с сервера.
Уведомление об устаревании (v1.5)
В v1.5,
$httpизsuccessиerrorметод устарел. Используйтеthenметод вместо него.
Пример общего метода
AngularJS 1.5 и выше — Пример
Попробуйте сами »
Пример сокращённого метода
AngularJS 1.5 и выше — Пример
Попробуйте сами »
AngularJS 1.5 и ниже — Пример
Попробуйте сами »
Анализ приложения:
Примечание: GET-запрос в приведенном выше коде обращается к серверу этого сайта. Вы не можете просто скопировать его и запустить локально, так как возникнут проблемы с кросс-доменными запросами. Решение — скопировать данные из Customers_JSON.php на собственный сервер. См.:Лучшие решения проблем кросс-доменности в PHP Ajax。
Приложение AngularJS определяется с помощьюng-appдирективы `ng-app`. Приложение выполняется в <div>.
ng-controllerДиректива задаетимя объекта `controller`.
ФункцияcustomersController— это стандартный JavaScriptконструктор объекта.。
Объект controller имеет свойство:$scope.names。
$http.get()Читает статическиеданные JSON с веб-сервера.。
Файл данных сервера: https://www.example.com/try/angularjs/data/sites.php。
При загрузке данных JSON с сервера,$scope.namesстановится массивом.
![]() |
Приведённый выше код также можно использовать для чтения данных из базы данных. |
|---|
