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
Utilizzare QuickGrid di Blazor con Entity Framework
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Definire stili a livello di libreria in Angular
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Effettuare il refresh dei dati di una QuickGrid di Blazor
Ordine e importanza per @layer in CSS
Filtering sulle colonne in una QuickGrid di Blazor
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Creare una libreria CSS universale: Immagini
Paginare i risultati con QuickGrid in Blazor
Recuperare App Service cancellati su Azure