我正在做一些简单的测试(为更大的项目做准备)以使用 JQuery AJAX 调用 ASP.NET WebMethod。在我的示例中,我的 WebMethod 返回一个简单的字符串。但是,当我尝试使用 JQuery 调用它时,我得到了返回的整个 HTML 页面内容,而不仅仅是我的字符串。我错过了什么?
客户端:
$(document).ready(function ready() {
$("#MyButton").click(function clicked(e) {
$.post("Default.aspx/TestMethod",
{name:"Bob"},
function(msg) {
alert("Data Recieved: " + msg);
},
"html"
);
});
});
服务器端:
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;
}
}
}
最佳答案
查看此链接。我使用他的其他一些帖子成功调用了 WCF 服务。请务必查看相关文章:
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
通读这篇文章,但其本质是:
$("#Result").click(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#Result").text(msg.d);
}
});
});
关于asp.net - Jquery AJAX 与 ASP.NET WebMethod 返回整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/348689/