2011-08-03 8 views
2
내가 자바 script..But에서 액세스 할 수있는 간단한 웹 메소드를 생성 한

에서의 WebMethod에 액세스 할 수 없습니다 내가자바 스크립트

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
    <script type="text/javascript"> 


     $(document).ready(
     function test() { 
      var x = PageMethods.MyMethod(); 
      alert(x.toString()); 
     }) 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true"> 
     </asp:ScriptManager> 
    </div> 
    </form> 
</body> 
</html> 

코드에 수없는 나는 뒤에이

[WebMethod] 
     public static string MyMethod() 
     { 
      return "Hello"; 
     } 

변수처럼 보인다 x는 null입니다. 무슨 일이 있었는지 알아낼 수 없네요. 누락 된 것이 있습니까? 어떤 도움이 필요합니까? 미리 감사드립니다

+0

여기서'test' 함수를 호출합니까? –

+0

@Chris .. 문서가 준비되면 자동으로 호출됩니다. – Ananth

답변

3

당신은 웹 메소드의 응답의 reciept에 호출되는 콜백 함수를 정의해야합니다 그러나이 항상 앞에 와야합니다

$(document).ready(
    function test() { 
     PageMethods.MyMethod(myMethodCallBackSuccess, myMethodCallBackFailed); 
    }) 

    function myMethodCallBackSuccess(response) { 
     alert(response); 
    } 

    function myMethodCallBackFailed(error) { 
     alert(error.get_message()); 
    } 

당신은 또한 방법에 인수를 전달할 수를 성공 및 실패 콜백

참고 : 실패한 콜백은 포함 할 필요가 없지만 필요하면 사용할 수 있습니다.

+0

@ jdavies..It +1 +1 – Ananth