2016-03-30 28 views
-1

私はasp MVCで新しくなったので、私はajaxでログインフォームを作ろうと思っていますので、jsonresultにコントローラのユーザ名とパスワードをチェックして、それをajaxで呼びますが、それは動作しません。そのためには、私のコントローラのコードなぜajaxコードが機能しないのですか?

public ActionResult login() 
    { 
     return View(); 
    } 


    [HttpPost] 

    public JsonResult ValidateUser(string username,string password) 
    { 
     using(var contxt=new EnglisCenterEntities()) 
     { 
      var data = from a in contxt.Employee 
         where a.Username == username && a.Passwords == password 
         select a; 
      if(data.Count()>0) 
      { 
       return Json(new { Success = true }, JsonRequestBehavior.AllowGet); 
      } 
      else 
      { 
       return Json(new { Success = false }, JsonRequestBehavior.AllowGet); 
      } 
     } 
    } 

だし、それが働いていないのはなぜこれが私の見解とAjaxコード

<div class="container"> 
     <div class="row"> 
    <div class="col-md-6 col-md-offset-3 alert alert-warning"> 
     <h2 class="text-center">Login</h2> 
     <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group"> 
        <div class="input-group"> 
         <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> 
         <input type="text" id="username" class="form-control" placeholder="Username"> 
        </div> 
       </div> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group"> 
        <div class="input-group"> 
         <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> 
         <input type="password" class="form-control" id="password" placeholder="Password"> 
        </div> 
       </div> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group"> 
        <button class="btn btn-warning form-control" type="submit" id="savedata"><i class="glyphicon glyphicon-log-in"></i>&nbsp;Login</button> 
       </div> 

      </div> 
     </div> 
    </div> 
</div> 

  <script> 
        $(document).ready(function() { 
         $('#savedata').click(function() { 
          var data = { 
           "username": $("#username").val(), 
           "password": $("#password").val() 
          }; 
          $.ajax({ 
           url: "/Account/ValidateUser", 
           type: "Post", 
           data: JSON.stringify(data), 
           dataType: "json", 
           contentType: "application/json", 
           success: function (response) { 
            if (response.Success) { 
             $.get("@Url.Action("Index", "Home")", function (data) { 
              $('.container').html(data); 
             }); 

            } 
            else 
             window.location.href = "@Url.Action("Login", "Account")"; 
           }, 
           error: function() { 
            console.log('Login Fail!!!'); 
           } 
          }); 
         }); 
        }); 
     </script> 

のですか?示すように任意のヘルプJSON.stringifyの必要はありません

+0

ありますか?送信ボタンを使用しています。 – BenG

+4

「機能していません」と定義します。それは何ですか? – David

+0

あなたのajaxリクエストはエラーを投げますか? –

答えて

3

は、あなたのAJAX呼び出しdataを変更してください: - フォームは

$.ajax({ 
      url: "/Account/ValidateUser", 
      type: "Post", 
      data: data, 
      dataType: "json", 
      ..... 
}); 
+0

ありがとうございますが、私のユーザ名とパスワードが私のjsonresultに接続されていないので、正しいユーザ名とパスワードを入れても問題ありません。 –

+0

@MahmoudSamy ...あなたが試しているものを手に入れることができません言いたいことは、別の質問がある場合は別のスレッドとしてそれを投稿することです。コメントセクションに別の質問をしないでください。この回答があなたの問題を解決した場合は、そのまま受け入れてください。 –

+0

ありがとう私は別の質問をあなたの答えとあなたのアドバイスのためにたくさん投稿します –

関連する問題