C# 有没有办法用jQuery捕获JavaScript PageMethods调用?(显示加载屏幕)

C# 有没有办法用jQuery捕获JavaScript PageMethods调用?(显示加载屏幕),c#,javascript,jquery,ajax,pagemethods,C#,Javascript,Jquery,Ajax,Pagemethods,我想知道是否有人知道一种方法,使用jQuery捕获从JavaScript发出的PageMethods调用,以便在调用开始时显示加载屏幕,在调用结束时隐藏(PageMethod响应时) 我知道有很多方法可以捕获像这样发出的ajax调用: $.ajax({ type: "POST", url: "PageName.aspx/MethodName", data: "{}", contentType: "application/json; charset=utf-8",

我想知道是否有人知道一种方法,使用jQuery捕获从JavaScript发出的PageMethods调用,以便在调用开始时显示加载屏幕,在调用结束时隐藏(PageMethod响应时)

我知道有很多方法可以捕获像这样发出的ajax调用:

$.ajax({
    type: "POST",
    url: "PageName.aspx/MethodName",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        // Do something interesting here.
    }
});
但是,有没有一种方法可以捕获它们,然后在它们被这样称呼时做些什么呢

JavaScript

PageMethods.serverSideMethod(responseFromServer);
代码隐藏

[WebMethod()]
public static string serverSideMethod()
{
    return response;
}

我正在使用jQuery 1.9.2,用C语言编程,需要这个脚本与IE6兼容。

基本相同,在jQuery中使用这个url

url: "PageName.aspx/serverSideMethod",
插入您的方法名,但不要使用偏执,它应该可以工作

编辑:

您可以使用以下ajax事件捕获开始和完成事件:

$.ajax({
   beforeSend: function(){
     // Handle the beforeSend event
   },
   complete: function(){
     // Handle the complete event
   }
   // ......
 });

然后你可以显示或隐藏任何你想要的。。。以下是完整的文档:

您可以在PageMethod调用之后或之前显示加载消息,然后将其隐藏在回调中:

PageMethods.serverSideMethod(responseFromServer);
//Show loading using jQuery Here

function responseFromServer(results){
    //process results
    //hide loading using jQuery
}
更新:


您是否尝试过Sys.WebForms.PageRequestManager beginRequest事件和endRequest事件:和

-请参阅接受答案中的链接。这至少可以让我们深入了解ASP.NET-AJAX模型为页面方法提供的支持。就是这样,我不想每次调用PageMethod时都手动显示和隐藏它。我希望它是自动的。对不起,我误解了这个问题。您是否尝试过Sys.WebForms.PageRequestManager beginRequest事件和endRequest事件:我知道,但我需要找到一种解决方法,使其能够以这种方式调用该方法。