creé un WebMethod en el archivo de código subyacente de mi página como tal:ASP .NET: No se puede llamar Página WebMethod usando jQuery
[System.Web.Services.WebMethod()]
public static string Test()
{
return "TEST";
}
creé la siguiente página HTML para probarlo:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"/></script>
<script type="text/javascript">
function test() {
$.ajax({
type: "POST",
url: "http://localhost/TestApp/TestPage.aspx/Test",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function(msg) {
alert(msg.d);
}
});
}
</script>
</head>
<body>
<button onclick="test();">Click Me</button>
</body>
</html>
Cuando hago clic en el botón, el AJAX se dispara, pero no se devuelve nada. Cuando depuro mi código, el método Test()
ni siquiera se llama. ¿Algunas ideas?
¡Problema solucionado! Gracias Code Poet y todos los demás que respondieron. Era doble: el 'tipo de datos 'era parte del problema, así que le di a todos un voto de quién contestó en esa parte. En última instancia, todo se redujo a violar inadvertidamente la misma política de origen, por lo que marqué esto como la solución. Gracias de nuevo a todos. ¡Lo aprecio! – John
@John feliz de ayudar. –