Esta página utiliza 'XHTML 1.0 Transitional' válido Esta página utiliza CSS válido
Búsqueda personalizada

Servicios web en .NET que devuelven JSON y cómo llamarlos desde jQuery

ASP .NET permite crear servicios web de manera muy sencilla, que devuelven el resultado en formato XML, pero hoy en día muchos desarrolladores prefieren que sus servicios web devuelvan los resultados en formato JSON y poder utilizar jQuery para hacer las llamadas.

Programando nuestros servicios web en .NET, podemos conseguir de manera muy sencilla que devuelvan el resultado también en formato JSON. Únicamente tendremos que añadir el atributo ScriptService a la clase que contiene nuestros servicios.

[WebService(Namespace = "http://www.midominio.es/miNamespace")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WSTest : System.Web.Services.WebService {
   [WebMethod]
   public string DimeHola(string nombre) {
      return "Hola " + nombre;
   }
}

Sólo con esto, nuestro servicio ya es capaz de devolver los resultados en formato JSON. Si el servicio devuelve un objeto, .NET se encargará de transformar la respuesta a formato JSON

Pero para que nuestro servicio devuelva el resultado en el formato que esperamos es necesario que indiquemos "application/json; charset=utf-8" en la cabecera HTTP "contet-type" antes de realizar la petición.

<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" />
    <script type="text/javascript">
      function calculate() {
        $.ajax({
          type: "POST",
          url: "WSTest.asmx/DimeHola",
          data: nombre: 'Pepe'}",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(response) { alert(response); },
          error: function(XMLHttpRequest, textStatus, error) {alert("Error");}
        });
      }
    </script>
  </head>
  <body>
    <a href="#" onclick="calculate()">Calculate</a>
  </body>
</html>

Con pocos cambios, .NET nos permite hacer que nuestro servicio web sea compatible con peticiones SOAP y JSON al mismo tiempo.
Fecha de publicación: 09/11/2015
Etiquetas: c# , ASP .NET , servicios web , jQuery , JSON
Prohibida la reproducción total o parcial de los textos o imágenes aquí expuestos salvo autorización expresa y por escrito del autor de los mismos. © 2007-2017 Locualo v1.0. Política de privacidad [www.locualo.net]