无法从Javascript访问web方法

Unable to access a webmethod from Javascript

本文关键字:web 方法 访问 Javascript      更新时间:2023-09-26

我正在创建一个简单的web方法从Java脚本访问..但是我不能

<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为空。我不知道我漏掉了什么,有什么帮助吗?

你需要定义一个回调函数,在收到web方法的响应时调用:

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

你也可以向方法传递参数,但是这些参数必须总是出现在成功回调和失败回调之前。

注意:您不需要包含失败的回调,但如果需要,它是可用的。