JS前台调用后台方法

方法一:

前台:

        function test() {
            var a = "<%=init("abc")%>";
            alert(a);
        }

后台:

       public string init(string Parms1)
        {

            return "Return: " + Parms1;
        }

 

方法二: 使用Jquery ajax

前台:

    $(function () {
            $("#btnOK").click(function () {
                $.ajax({
                    //要用post方式   
                    type: "Post",
                    //方法所在页面和方法名   
                    url: "WebForm1.aspx/Init",
                    //如果有参数的话加上data 中间用 , 分开 参数名要和后台的参数名一致
                    data: "{'Parms1':'abc'}",  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        //返回的数据用data.d获取内容   
                        alert(data.d);
                    },
                    error: function (err) {
                        alert(err);
                    }
                });

                //禁用按钮的提交   
                return false;
            });
        });

 

后台:

   [WebMethod]
        public static string Init(string Parms1)
        {
            return "Return: " + Parms1;
        }

 

方法三:

   使用asp:ScriptManager

 

 <script type="text/javascript">
        function Print() {
            PageMethods.Abc("you", funReady, funError);
        }

        // result 就是后台方法返回的数据
        function funReady(result) {
            alert(result);
        }
        // err 就是后台方法返回的错误信息
        function funError(err) {
            alert("Error:" + err._message);
        }

    </script>

 

    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
            <input type="button" onclick="Print()" value="打印" />
        </div>
    </form>

 

     [System.Web.Services.WebMethod]
        public static string Abc(string s)
        {
            return s;
        }

 

 

你可能感兴趣的:(JS前台调用后台方法)