Prefacio
Servicio $ HTTP: simplemente encapsula el objeto XMLHttpRequest nativo del navegador y recibe un parámetro. Este parámetro es un objeto que contiene el contenido de configuración utilizado para generar solicitudes HTTP. Esta función devuelve un objeto promise con métodos success y error .
Use escenarios de servicio $ http:
var promise = $ http ({método: "post", // se puede obtener, publicar, poner, eliminar, head, jsonp; comúnmente usado es get, posturl: "./ data.json", // solicitar parámetros de ruta: {'nombre': 'lisa'}, // Los parámetros de aprobación, cadena mapa u objeto y convertirlo en el nombre = lisa formul Solicitar, enviar datos binarios y usar objeto blob.}). éxito (función (data) {// respuesta operada correctamente}). Error (función (data) {// Respuesta fallida (respuesta devuelta en un estado de error) operación}) then() función: puede usar la función then() para manejar la devolución de llamada del servicio $ http. then() la función acepta dos funciones opcionales como parámetros para representar el procesamiento cuando success o error . También puede usar devoluciones de llamada success y error :
then(successFn, errFn, notifyFn) , si promise tiene éxito o falla, cuando el resultado está disponible, then llama inmediatamente successFn o errFn de manera asincrónica. Este método siempre llama a la función de devolución de llamada con un parámetro: el resultado o el motivo del rechazo.
Antes de que promise se ejecute o rechace, notifyFn puede llamarse 0 a varias veces para proporcionar un mensaje para el estado del proceso.
Promise.Then (function (resp) {// llamado cuando la respuesta es exitosa, Res es un objeto de respuesta}, función (resp) {// llamado cuando la respuesta falla, Res tiene un mensaje de error}); El resp (objeto de respuesta) recibido por la función then() contiene 5 propiedades:
1. Datos (cadena u objeto): cuerpo de respuesta
2. Estado: el código de estado HTTP correspondiente, como 200
3. Encabezados (función): una función de Getter con información de encabezado, que puede aceptar un parámetro para obtener el valor del nombre correspondiente.
4. Config (objeto): genera el objeto de configuración completo de la solicitud original
5. StatusText: el texto de estado HTTP correspondiente, como "OK"
O use el método success/error , use
// manejar con éxito promet.success (function (datos, estado, encabezados, configuración) {// procesar respuesta exitosa}); // manejo de errores Promis.error (función (datos, estado, encabezados, configuración) {// procesar respuesta no exitosa});Ejemplos de uso:
index.html
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> $ http test test </title> <script src = "../ js/angular.js"> </script> <script src = "app.js"> </scritch> <bod> <body> <bod data-App-app-app-app-app-app-app data-ng-controller = "myAppController" data-ng-init = "loadData ()"> <table> <thead> <tr> <th> name </th> <th> propiedades </th> </tr> </tbody> <tbody> <tr data-ng-repeat = "data en miDATA"> <TD> {{{data.name}}}}}}}}}}}}}}}}}}}}}}}} <TD> {{data.Attr}} </td> </tr> </tbody> </table> </div> </body> </html>app.js
var myhttpapp = angular.module ("myapp", []); myhttpapp.controller ("myAppController", function ($ q, $ http, $ scope) {var deffer = $ q.defer (); var data = new blob ([{"nombre": "zhangsan"}]) $ scope.cope.cope.cope. $ http ({método: "post", url: "./ data.json", cache: true}). Success (function (data) {deffer.resolve (data);}). Error (function (data) {deffer.reject (data);}) Promise.then (function (data) {$ scope.mydata = data.data;}) /*promise.success (function (data) {$ scope.mydata = data;})* /}})data.json
[{"nombre": "zhangsan", "attr": "china"}, {"nombre": "lisa", "attr": "usa"}, {"name": "bob", "attr": "uk"}, {"nombre": "jecy", "att": "jepan"}]resultado:
El objeto resp que se devuelve al llamar a la función then() :
Resumir
Las aplicaciones y parámetros comúnmente utilizados del servicio $ HTTP en AngularJs han terminado básicamente. Espero que el contenido de este artículo sea útil para que todos aprendan a usar AngularJS. Si tiene alguna pregunta, deje un mensaje para comunicarse.