Negli script #170 e #171 abbiamo visto come eseguire chiamate AJAX rispettivamente in GET e POST. Quando dobbiamo effettuare richieste su un dominio diverso da quello in cui ci troviamo, questo tipo di richieste sono effettuabili solo tramite Jsonp. Per effettuare questo tipo di chiamate Angular 2 mette a disposizione la classe JSONP. Questa classe espone il metodo get, che accetta in input l'URL da invocare e un oggetto con i parametri da inviare.
import { Injectable } from '@angular/core'; import { Jsonp, URLSearchParams } from '@angular/http'; @Injectable() export class MyService { constructor(private jsonp: Jsonp) {} search (query: string) { var url = "http://www.site.com/api/get"; var params = new URLSearchParams(); params.set('search', query); params.set('callback', 'JSONP_CALLBACK'); return this.jsonp .get(url, { search: params }) .map(request => /*Codice che elabora la risposta*/); } }
Grazie alla classe JSON, effettuare questo tipo di chiamate è estremamente semplice, poiché si segue un flusso molto simile a quello visto per le classiche chiamate AJAX viste in precedenza.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire i null nelle reactive form tipizzate di Angular
Utilizzare politiche di resiliency con Azure Container App
Eseguire una GroupBy per entity in Entity Framework
Definire stili a livello di libreria in Angular
Evitare la script injection nelle GitHub Actions
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Usare il versioning con i controller di ASP.NET Core Web API
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL