Pagine

lunedì 13 luglio 2015

JAVASCRIPT - Call WebService con AJAX

Il metodo più veloce e comprensibile per effettuare richieste ad un WebService è l’utilizzo di AJAX implementato in JQUERY:

[code] function Get_LPAR() { $.ajax({ type: "POST", url: " WSadmin.asmx/Get_LPAR", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { var data = (msg.d); var row = $.parseJSON(data);//trasforma in array di classi //oggetti restituiti: qui un solo oggetto di due campi $.each(row, function (key, value) { }); }, error: function (msg) { } }); [/code]
 
JQUERY viene in aiuto con un’implementazione delle funzioni AJAX più leggibile e rapida piuttosto che utilizzare il nativo XMLHttpRequest già comunque incredibilmente presente nelle versioni di Internet Explorer 5.5 che risale all’anno 2000.
Le richieste AJAX sono richieste asincrone e questo rende i web-site moderni più fluidi piuttosto che una chiamata sincrona.
type: tipo di chiamata solitamente POST
url: l’indirizzo del webservice con relativa funzione da richiamare
data: sono i parametri da inviare. Nell’esempio non se ne inviano altrimenti il formato dei parametri è di tipo JSON. Per esempio:
data: "{'jsonData':'" + jsonData + "'}"
contentType: è il formato supportato che tipicamente è quello nell’esempio
dataType: è la tipologia di scambio dati quindi riceverà un dato formattato json. Altro tipo famoso è XML ma si usa meno spesso perchè occupa più banda e quindi è meno veloce
la funzione $.parseJSON converte il formato json in un array di elementi è un’altra implementazione molto comoda di JQUERY.
infine notiamo il ciclo for each di JQUERY $.each comodità assoluta per scandire un array.
Questo tipo di funzione così com’è scritta è perfetta per una call ad un webservice risiedente sullo stesso dominio, infatti non si specifica nemmeno.
Nel caso il webservice fosse su dominio differente incontreremmo problemi di cross-domain complicati da risolvere (dei quali ne discuteremo in un altro post)

Nessun commento:

Posta un commento