Estoy haciendo algunas pruebas simples (en preparación para un proyecto más grande) para llamar a un ASP.NET WebMethod utilizando JQuery AJAX. En mi ejemplo, mi WebMethod devuelve una cadena simple. Sin embargo, cuando intento llamarlo usando JQuery, obtengo el contenido completo de la página HTML devuelto en lugar de solo mi cadena. ¿Qué me estoy perdiendo?Jquery AJAX con WebMethod ASP.NET Devolver toda la página
lado del cliente:
$(document).ready(function ready() {
$("#MyButton").click(function clicked(e) {
$.post("Default.aspx/TestMethod",
{name:"Bob"},
function(msg) {
alert("Data Recieved: " + msg);
},
"html"
);
});
});
el lado del servidor:
using System;
using System.Web.Services;
namespace JqueryAjaxText
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string TestMethod(string name)
{
return "The value submitted was " + name;
}
}
}
Asegúrese de que su web.config contiene algo equivalente a esto, dependiendo de la versión: ' \t \t \t \t \t \t \t \t \t \t \t \t httpModules> \t \t \t configuration> ' –
Nathan
La parte clave de esto es la línea contentType:" application/json; charset = utf-8 "sin esa línea, devolverá HTML. –