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
Implementare l'infinite scroll con QuickGrid in Blazor Server
Generare un hash con SHA-3 in .NET
Paginare i risultati con QuickGrid in Blazor
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Miglioramenti agli screen reader e al contrasto in Angular
Gestire i dati con Azure Cosmos DB Data Explorer
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Utilizzare Azure AI Studio per testare i modelli AI
Effettuare il binding di date in Blazor
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL