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 errori funzionali tramite exception in ASP.NET Core Web API
Utilizzare un service principal per accedere a Azure Container Registry
Sfruttare lo streaming di una chiamata Http da Blazor
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Semplificare il deployment di siti statici con Azure Static Web App
Gestire domini wildcard in Azure Container Apps
Usare una container image come runner di GitHub Actions
Verificare la provenienza di un commit tramite le GitHub Actions
Assegnare un valore di default a un parametro di una lambda in C#
Hosting di componenti WebAssembly in un'applicazione Blazor static
Routing statico e PreRendering in una Blazor Web App
Recuperare un elemento inserito nella cache del browser tramite API JavaScript