.net - servicio - jquery web service soap
¿Cuál es la mejor manera de llamar a un servicio web.net usando jquery? (6)
Me gustaría llamar a un servicio web .net desde otro dominio usando solo jquery.
¿Cuál es la mejor manera de hacer esto? y ¿hay algún cambio de configuración que deba tener en cuenta en el sitio web que aloja la página web?
La razón por la que pregunto esto es porque solo controlo marginalmente esa área. Entonces solo puedo hacer cambios limitados.
El navegador no permite llamadas XMLHTTPRequest entre dominios en su configuración predeterminada. Puede cambiar la configuración del navegador para que ciertas llamadas tengan éxito, pero esto se considera una mala práctica.
Para realizar solicitudes entre dominios, puede
Use el servidor local como un proxy para un servidor remoto
Este ejemplo utiliza un servicio web ASP.NET local para hacer una llamada al Yahoo! Servicio Geocode
Este ejemplo muestra cómo crear un puente a flickr a través de la API de flickr.
En general, la respuesta es no, suponiendo que esté hablando de servicios web ASPX (básicamente un servicio web alojado en un sitio ASP.NET).
Este es el primer golpe en Google al buscar "llamada a un servicio web jquery" que debería proporcionarle más información:
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/ que está utilizando para alojar el servicio web).
En primer lugar, no estoy muy seguro de si el ajax entre sitios implementado en jquery funcionará en todos los navegadores (Firefox 3) simplemente así. En segundo lugar, supongo que estás hablando de un servicio web SOAP. Prefiero no hacer eso. Será muy complicado de implementar.
¿Un mejor enfoque sería usar: Jquery.getJSON?
Ver: JQuery.getJSON
Esto plantea la cuestión de cómo generar datos que cumplan con JSON utilizando un servicio web o un mecanismo similar.
Aquí hay un ejemplo:
$.post("CodersWS.asmx/DeleteBook", { id_book: parseInt(currBookID, 10) }, function(res) {
///do something with returned data: res
});
En el ejemplo anterior, estoy llamando a un servicio web llamado CodersWS.asmx
, y el WebMethod dentro de él se llama DeleteBook
... También estoy pasando un parámetro llamado id_book
.
Además, no olvide agregar este fragmento a su web.config
, de lo contrario, no podría acceder al servicio web de esta manera:
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
Creo que tu problema es hacer la llamada crossdomain. jsonp
cambiar el tipo de datos de su solicitud jQuery a jsonp
.
Eche un vistazo a este enlace