如果HTTP请求是POST,则使用查询ajax在ASP.NET页面中调用web方法可以很好地工作。如果使用HTTP GET请求,则运行Page_Load事件而不是webmethod。 有什么想法吗?
这是Ajax
$.ajax({
type: "GET",
url: "http://local.proleaguesports.pagefad.com/AjaxTesting.aspx/receivermethod",
data: "{'test':'MyName'}",
contentType: "application/json",
dataType: "json",
success: mycallback,
error: handler
});
这里是C#
背后的代码public partial class AjaxTesting : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Page_Load runs instead of the receivermethod below");
}
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string receivermethod()
{
return "test received";
}
}
答案 0 :(得分:0)
您可以考虑将您的网络方法转移到单独的网络服务/ asmx中。我听说某个地方在aspx中调用web方法导致整个页面被重新加载,但我目前找不到确认参考。