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 liste di tipi semplici con Entity Framework Core
Semplificare il deployment di siti statici con Azure Static Web App
Utilizzare Model as a Service su Microsoft Azure
Creare moduli CSS in React
Eseguire attività pianificate con Azure Container Jobs
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Limitare le richieste lato server con l'interactive routing di Blazor 8
Sfruttare lo streaming di una chiamata Http da Blazor
Eseguire le GitHub Actions offline
Generare file PDF da Blazor WebAssembly con iText
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes