2016-11-13 12 views
1

こんにちは私は別のページをリダイレクトするためにasp.netのログインフォームを作成しました。ユーザー検証とjquery用にwebserviceを作成しましたが、ajaxデータは未定義のページを返しています私を助けて...私のコードは、このログインフォームでのJqueryの検証

Webサービス

[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); 
     } 

    }); 

}); 
}); 
のようなものです
+0

明らかにあなたのコードはcですorrect。 Webサービスの入出力をデバッグしましたか? –

+0

デバッグなしでエラーをチェックしましたが、リダイレクトされていません。値がヌルになっています – Raviteja

+0

"data"がnullですか?はいの場合は、ブラウザのf12を押してコンソールのエラーを確認してください。 –

答えて

0

を使用してクエリ文字列に値を渡すことにより、簡単な修正である "アプリケーション/ JSON;のcharset = UTF-8"、

私はそれを持っている...

正常に実行中...

0

あなたのajaxコールのURLが間違っていると思います。ページ(Ie. Login.aspx)ではなく、Login.asmxなどのサービス名を指定する必要があります。

データを渡す方法についてもわかりませんが、正しいかもしれません。

0

これらはuがデータPOSTメソッドののデータ

  • フォーマットとしてhavig不一致引用符をして渡す
    1. パラメータ名の不一致をミスしています。

    ウェブAPIメソッドは、あなたがクエリ文字列

    のような?アン=名前& PWD =パスで、このコールを要求することになっていることを意味する、国連あなたのパラメータとして& PWDが含まれています

    次に、サービスを呼び出して、データとして送信します。入力データと同じ性質を持つオブジェクトの場合

    1つの解決策 public class Login { 公開ストリングun {get;セット; } 公開ストリング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); 
         } 
    
        }); 
    
    }); 
    }); 
    

    他の解決策はのcontentTypeを除去することにより

    window.href 
    
  • +0

    こんにちはaravind ... jqueryからアラートボックスに印刷すると値が未定義です – Raviteja

    +0

    このアラートと同様に.d); – Raviteja