Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2013, 17:59
efenix
 
Fecha de Ingreso: septiembre-2008
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 1
asmx webservice y ajax cross domain

Hola tengo un problema al consumir un web service asmx con ajax y jquery de dominios diferentes, el asunto es que necesito consumer el web service desde una aplicación phonegap y el web service esta en el servidor

llamada desde el cliente
Código Java:
Ver original
  1. $.ajax({
  2.                     type: 'POST',
  3.  
  4.                     url: "http://localhost:4280/g12_0/reparto.asmx?op=hola",
  5.                     data: "{'nombre':'efenix'}",
  6.  
  7.                     contentType: "application/json; charset=utf-8",
  8.                     dataType: "jsonp",
  9.                     crossDomain: true,
  10.  
  11.                     success: function (msg) {
  12.                         alert(msg);
  13.                     },
  14.                     error: function (msg) {
  15.                         alert(JSON.stringify(msg));
  16.                     }
  17.                 });

codigo del webservice
Código ASP:
Ver original
  1. namespace reparto
  2. {
  3.     /// <summary>
  4.     /// Summary description for reparto
  5.     /// </summary>
  6.     [WebService(Namespace = "http://tempuri.org/")]
  7.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  8.     [System.ComponentModel.ToolboxItem(false)]
  9.     // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
  10.     [System.Web.Script.Services.ScriptService]
  11.     public class reparto : System.Web.Services.WebService
  12.     {
  13.  
  14.         [WebMethod(), ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
  15.         public string hola(String nombre)
  16.         {
  17.             return "Hola " + nombre + "!!!.";
  18.  
  19.         }
  20. }
  21. }

se supone que debe regresarme la frase "Hola efenix!!!."

pero en cambio tengo otra respuesta
"{"readyState":4,"status":200,"statusText":"succes s"}"

investigando estos datos supuesta mente hace bien la conexión pero lo que esta mal es el formato de los datos de la respuesta que probablemente no tengan un formato jsonp pero la verdad no se cual sea el problema

esto meaparece en la consola de firefox cuando presiono el boton que tiene estafuncion
http://localhost:4280/reparto.asmx?op=hola&callback=jQuery17107195009484 187643_1373673566639&{%27nombre%27:%27efenix%27}&_ =1373673567933

uso jsonp por que la llamada es de dominios diferentes

cualquier ayuda es bien recibida