簡體   English   中英

登錄表單中的jquery驗證使用webservice登錄asp.net c#

[英]Jquery validation in login form asp.net c# with webservice

你好我已經在asp.net中創建了一個登錄表單來重定向另一個頁面我已經創建了一個webservice用於用戶驗證和jquery但是ajax數據正在返回未定義頁面不重定向請幫助我...我的代碼是這樣的

網絡服務

 [WebMethod]
    public static string LoginSer(string un,string pwd)
    {

        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("select Username,Password from emp_Login where IsActive=1 and Username='" + un + "' and Password='" + pwd + "'", con))
            {
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    return "1";
                }
                else
                {
                    return "0";
                }
            }
        }

    }

jQuery的

$(document).ready(function () {
$("#btnLogin").click(function () {
    var uid = $("#txtUN").attr('value');
    var pass = $("#txtPWD").attr('value');
    $.ajax({
        type: "POST",
        url: "Login.aspx/LoginSer",
        data: '{un: ' + uid + ', pwd: ' + pass + '}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            if (data.d == "1")
            {
                window.location.assign("../../Home.aspx");
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //alert(XMLHttpRequest.responseText);
            var err = eval("(" + XMLHttpRequest.responseText + ")");
            alert(err.Message);
        }

    });

});
});

我認為您在ajax調用中的URL不正確。 您需要提供服務名稱,例如Login.asmx,而不是頁面(即Login.aspx)。

我也不確定你傳遞數據的方式,但它可能是正確的。

這些是你犯的錯誤

  1. 參數名稱不匹配
  2. 傳遞為數據
  3. POST方法數據中的格式是havig不匹配的引號。

Web api方法包含unpwd作為您的參數,這意味着您應該使用查詢字符串來請求此調用

?UN =名稱和PWD =通行證

接下來,您將調用該服務並作為數據發送,該數據將查找包含與您的輸入數據相同的屬性的對象。

一個解決方案公共類登錄{public string un {get; 組; public string pwd {get; 組; }}

[WebMethod]
    public static string LoginSer(Login user)
    {

        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("select Username,Password from emp_Login where IsActive=1 and Username='" + user.un + "' and Password='" + user.pwd + "'", con))
            {
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    return "1";
                }
                else
                {
                    return "0";
                }
            }
        }

    }

$(document).ready(function () {
$("#btnLogin").click(function () {
    var uid = $("#txtUN").attr('value');
    var pass = $("#txtPWD").attr('value');
    var userdata = {
            "un": uid,
            "pwd": pass
        };      
    $.ajax({
        type: "POST",
        url: "Login.aspx/LoginSer",
        data: userdata,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            if (data.d == "1")
            {
                window.location.assign("../../Home.aspx");
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //alert(XMLHttpRequest.responseText);
            var err = eval("(" + XMLHttpRequest.responseText + ")");
            alert(err.Message);
        }

    });

});
});

另一個解決方案是通過使用將值傳遞到查詢字符串來進行簡單修復

window.href

通過刪除contentType:“application / json; charset = utf-8”,

我有它...

成功運行......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM