主页中的Asp-net AJAX

本文关键字:AJAX Asp-net 主页 | 更新日期: 2023-09-27 18:28:05

我试图在MasterPage文件中使用一些AJAX,但出现了以下错误:

http://localhost:15354/website/MasterPage.master/Login加载资源失败:服务器响应状态为403(禁止)

我在一些论坛上发现,我们不能从MasterPage中用AJAX调用函数:

function Login() {
        var obj = new Object();
        obj.user = "";
        obj.pass = "";
        $.ajax({
            type: "POST",
            url: "MasterPage.master/Login",
            data: JSON.stringify(obj),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                alert("success");
            },
            error: function (){
                alert("error");
            }
        });
    }

下面是我在代码后面的函数:

[WebMethod]
public static string Login(string user, string pass)
{

    return "";
}

我该怎么做?

非常感谢!

主页中的Asp-net AJAX

最好为此提供Web服务,并从ajax请求中调用Web服务url。


$.ajax({
    /// <summary>
    ///  Perform an asynchronous HTTP (Ajax) request
    /// </summary>
    type: "POST",
    url: "AjaxServer.asmx/Login",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(response) {
        /// <summary>
        /// when success
        /// </summary>
        alert(response.d);
    },
    failure: function(msg) {
        /// <summary>
        /// when there is an error
        /// </summary>
        alert(msg.d);
    }
});​

您可以为登录信息创建.ascx并在那里调用ajax

母版页没有自己的生命周期在继承master的所有页面中调用master页面方法因此您可以从任何使用母版页的页面调用您的方法

$.ajax({url:"Login.aspx/Login",类型:"POST",。。。

将服务器端代码移动到一个帮助页面,即webmethods.aspx,并在那里调用它。