jquery - tutorial - json consume web service
Cómo llamar a un servicio web desde jQuery (5)
Esta pregunta ya tiene una respuesta aquí:
Quiero llamar a un servicio web desde jQuery. ¿Cómo puedo hacer eso?
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 .
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();
}
}
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.
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.
Puede hacer una solicitud AJAX como cualquier otra solicitud:
$.ajax( {
type:''Get'',
url:''http://mysite.com/mywebservice'',
success:function(data) {
alert(data);
}
})