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
Controllare la velocità di spostamento su una pagina HTML
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Integrare un servizio esterno con .NET Aspire
Gestire progetti .NET + React in .NET Aspire
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare Locust con Azure Load Testing
Migliorare l'organizzazione delle risorse con Azure Policy
Configurare automaticamente un webhook in Azure DevOps
Gestione CSS in Blazor con .NET 9
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Conoscere il rendering Server o WebAssembly a runtime in Blazor


