Las aplicaciones reales deben interactuar con servidores reales, aplicaciones móviles y aplicaciones emergentes de escritorio Chrome pueden ser una excepción, pero para todas las demás aplicaciones, ya sea que desee persistir datos en la nube o interactuar con otros usuarios en tiempo real, debe interactuar con el servidor.
Para lograr esto, Angular proporciona un servicio llamado $ http. Proporciona una lista extensible de métodos abstractos para facilitar la interacción con el servidor. Admite métodos HTTP, JSONP y CORS. También incluye soporte de seguridad para evitar la vulnerabilidad en formato JSON y XSRF. Le permite convertir fácilmente los datos de solicitud y respuesta, e incluso implementa el almacenamiento en caché simple.
Por ejemplo, tenemos la intención de que los sitios de compras obtengan información del producto de los servidores en lugar de datos falsificados de la memoria. Cómo escribir el código del servidor está más allá del alcance de este libro, así que imaginemos que, por ejemplo, hemos creado un servidor que devuelve una lista de productos en formato JSON al consultar la ruta /productos.
El ejemplo de respuesta devuelta es el siguiente:
[ { "id": 0, "title": "Paint pots", "description": "Pots full of paint", "price": 3.95 }, { "id": 1, "title": "Polka dots", "description": "Dots with that polka groove", "price": 12.95 }, { "id": 2, "title": "Pebbles", "description": "Just little rocks, really", "Precio": 6.95} ... etc ...]Podemos escribir código de consulta como este:
FUNCIÓN SHOPINSCONTROLOR ($ ESCOPE, $ http) {$ http.get ('/productos'). Success (función (datos, estado, encabezados, configuración) {$ scope.items = data;});}Luego úsalo así en la plantilla:
<Body Ng-Controller = "ShoppingController"> <h1> Shop! </h1> <topla> <tr ng -upeat = "elementos en elementos"> <td> {{item.title}} </td> <td> {{item.description}} </td> <td> {item.price | moneda}} </td> </tr> </table> </div> </body>Como dijimos antes, a la larga, es beneficioso para nosotros dejar que el proxy del servicio interactúe con el servidor, y este servicio puede ser compartido por múltiples controladores.