2013-11-22 3 views
0

누군가가 jQuery를 사용하여 JavaScript로 만들어진 PageMethods 호출을 포착하여 호출이 시작될 때 로딩 화면을 표시하고 끝날 때 숨길 수 있는지 알고 싶습니다. PageMethod가 응답 함).jQuery로 JavaScript PageMethod 호출을 캡처하는 방법이 있습니까? (Loading Screen을 보여주기 위해)

$.ajax({ 
    type: "POST", 
    url: "PageName.aspx/MethodName", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
     // Do something interesting here. 
    } 
}); 

을하지만, 그것들을 포착하고이 같이 호출 될 때 무언가를 할 수있는 방법이있다 : 나는 그들이 이런 식으로 만들어진 때 아약스 호출을 캡처하는 방법이 알고

?

자바 스크립트

PageMethods.serverSideMethod(responseFromServer); 

코드 숨김

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

내가 jQuery를 1.9.2, C#에서 프로그래밍을 사용하여 IE6와 호환이 스크립트를 필요로하고있다.

+0

http://stackoverflow.com/questions/4854834/jquery-ajax-calling-asp- net-page-method-return-value-back-to-jquery - 허용 된 답변의 링크를 참조하십시오. 적어도 페이지 메서드를 강화하는 ASP.NET-AJAX 모델에 대한 충분한 통찰력을 제공해야합니다. – user2864740

답변

0

거의 동일합니다, 괄호없이 메서드 이름을 삽입

url: "PageName.aspx/serverSideMethod", 

jQuery를

이 URL을 사용, 그것은 작동합니다.

편집 :

당신이 아약스 이벤트 사용하여 시작과 완료 이벤트를 캡처 할 수 있습니다

: 그럼 당신은 표시하거나 당신이 원하는대로 숨길 수

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

이 ... 여기에 전체 문서는 다음과 같습니다 http://api.jquery.com/Ajax_Events/

+0

알아,하지만이 방법으로 메서드를 호출 할 수있는 해결 방법을 찾아야합니다. – EroKnight

0

PageMethod 호출 직후에로드 메시지를 표시 한 다음 콜백에서 숨길 수 있습니다.

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

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

UPDATE :

당신이 Sys.WebForms.PageRequestManager beginRequest 이벤트와 EndRequest 이벤트 이벤트를 시도 : http://msdn.microsoft.com/en-us/library/bb397432(v=vs.100).aspxhttp://msdn.microsoft.com/en-us/library/bb383810(v=vs.100).aspx

+0

그건 사실입니다. 나는 PageMethod를 호출 할 때마다 수동으로 숨기고 싶지 않습니다. 나는 그것을 자동으로하고 싶다. – EroKnight

+0

죄송합니다. 질문에 대한 오해. Sys.WebForms.PageRequestManager beginRequest 이벤트 및 endRequest 이벤트를 시도해 보셨습니까? http://msdn.microsoft.com/en-us/library/bb397432(v=vs.100).aspx 및 http://msdn.microsoft.com /en-us/library/bb383810(v=vs.100).aspx – ezanker