Estoy intentando ejecutar un servicio web que devuelve un DataTable con el siguiente fragmento de código:DataTable a JSON usando jQuery
$.ajax({
type: "POST",
url: url,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
//do things
}
});
Si el servicio web devuelve una clase entonces funciona por lo que no tiene nada que ver con los parámetros de entrada, etc. Solo falla cuando el método web devuelve una tabla de datos (la tabla de datos solo tiene 2 columnas y 2 filas para la prueba que estoy haciendo).
La clase WebService está decorada con el atributo [ScriptService] así que pensé que ASP.NET serializaría automáticamente el valor de retorno como JSON. No parece funcionar con datatable.
La única solución que encontré fue devolver una cadena (un objeto serializado JSON manualmente) pero no me parece correcto hacerlo de esta forma.
Estoy usando Visual Studio 2008 con .Net 3.5
Creo que su respuesta es la mejor. –
Ídem. Usa LINQ y toma lo que necesites. Mucho más fácil que alternar manualmente los resultados. –
Gran respuesta. Uno de esos momentos 'duh' en los que no puedo creer que tenga que buscar esto. –