Come chiamare un servizio Web da jQuery

Voglio chiamare un webservice da jQuery. Come lo posso fare?

Puoi fare una richiesta AJAX come qualsiasi altra richiesta:

$.ajax( { type:'Get', url:'http://mysite.com/mywebservice', success:function(data) { alert(data); } }) 

MODIFICARE:

L’OP non stava cercando di utilizzare le richieste tra domini, ma jQuery supporta JSONP a partire dalla v1.5. Vedi jQuery.ajax () , in particolare il parametro crossDomain .

Le richieste regolari di jQuery Ajax non funzioneranno sul sito, quindi se si desidera eseguire una query su un servizio Web RESTful remoto, probabilmente sarà necessario creare un proxy sul server e interrogarlo con una richiesta di jQuery get. Vedi questo sito per un esempio.

Se si tratta di un servizio Web SOAP, è ansible provare il plugin jqSOAPClient .

Ho bloggato su come utilizzare un servizio WCF usando jQuery:

http://yoavniran.wordpress.com/2009/08/02/creating-a-webservice-proxy-with-jquery/

Il post mostra come creare un proxy di servizio direttamente in javascript.

Nel caso in cui la gente abbia un problema come me, seguendo la risposta di Marwan Aouida … il codice ha un piccolo refuso. Invece di “successo”, dice “sucess” cambia l’ortografia e il codice funziona correttamente.

In Java, questo valore restituito non riesce con jQuery Ajax GET:

 return Response.status(200).entity(pojoObj).build(); 

Ma questo funziona:

 ResponseBuilder rb = Response.status(200).entity(pojoObj); return rb.header("Access-Control-Allow-Origin", "*").build(); ---- 

Classe completa:

 @Path("/password") public class PasswordStorage { @GET @Produces({ MediaType.APPLICATION_JSON }) public Response getRole() { Contact pojoObj= new Contact(); pojoObj.setRole("manager"); ResponseBuilder rb = Response.status(200).entity(pojoObj); return rb.header("Access-Control-Allow-Origin", "*").build(); //Fails jQuery: return Response.status(200).entity(pojoObj).build(); } }