Cómo llamar a un servicio web desde jQuery

Quiero llamar a un servicio web desde jQuery. ¿Cómo puedo hacer eso?

Puede hacer una solicitud AJAX como cualquier otra solicitud:

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

EDITAR:

El OP no buscaba usar solicitudes de dominios cruzados, pero jQuery admite JSONP a partir de la v1.5. Ver jQuery.ajax () , específicamente el parámetro crossDomain .

Las solicitudes regulares de jQuery Ajax no funcionarán en sitios cruzados, por lo que si desea consultar un servicio web remoto RESTful, probablemente deba hacer un proxy en su servidor y consultarlo con una solicitud de obtención de jQuery. Vea este sitio para un ejemplo.

Si se trata de un servicio web SOAP, es posible que desee probar el complemento jqSOAPClient .

Escribí en mi blog sobre cómo consumir un servicio WCF usando jQuery:

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

La publicación muestra cómo crear un proxy de servicio directamente en javascript.

En caso de que la gente tenga un problema como yo siguiendo la respuesta de Marwan Aouida … el código tiene un pequeño error tipográfico. En lugar de “éxito”, dice “éxito” cambiar la ortografía y el código funciona bien.

En Java, este valor de retorno falla con jQuery Ajax GET:

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

Pero esto funciona:

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

Clase 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(); } }