2014-11-06 186 views
1

3天前代碼工作正常。但現在不是。 請指出我的錯誤,因爲我是JQuery的新手。登錄頁面使用JQuery

我調試了一下,發現調試器沒有進入ajax的成功方法裏面。甚至沒有去CS文件。 Jquery-的

代碼

<script type="text/javascript"> 

    $(document).ready(function() { 
     $('#btnSubmit').click(function() { 
      alert('b'); 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "admin.aspx/LogIn", 
       dataType: "json", 
       data: "{'name':'" + $('#txtfn').val() + "','password':'"  +$('#txtln').val() + "'}", 
       success: function (data) { 

        alert(data); 
        var obj = data.d; 
        alert(obj); 
        alert(data.d); 
        if (obj == 'true') { 
         $('#txtfn').val(''); 
         $('#txtln').val(''); 
         alert("dasdsad"); 
         window.location = "home.aspx"; 
         alert("success"); 
        } 
        else if (obj == 'false') 
        { alert("errorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"); } 
       }, 
       error: function (result) { 
        alert(data); 
        alert("aaaaaaafgdgfdfgsfgfhffghgfhgfhfghfghfhfghfhfghgfhgfhgfhgfhfghfghgfhgfhgf"); 
        alert(result); 
       } 
      }); 

      }); 
    }); 

</script> 
</head> 
<body> 
&nbsp;<div id="login"> 
    <div id="triangle"></div> 
    <h1>Log in</h1> 
    <form id="f1" runat="server"> 

     <input type="text" id="txtfn" placeholder="name" /> 
     <input type="text" id="txtln" placeholder="Password" /> 
     <input type="submit" id="btnSubmit" value="Log in" /> 
    </form> 
    </div> 
</body> 

代碼 -

[WebMethod] 
public static string LogIn(string name, string password) 
{ 
    string retMessage = string.Empty; 
    string constr = ConfigurationManager.ConnectionStrings["oltest_conString"].ConnectionString; 
    using (SqlConnection con = new SqlConnection(constr)) 
    { 
     string Query = "select * from profile where [email protected] and [email protected]"; 

     using (SqlCommand cmd = new SqlCommand(Query, con)) 
     { 
      cmd.Parameters.AddWithValue("@pname", name); 
      cmd.Parameters.AddWithValue("@pwd", password); 

      con.Open(); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      if (dr.Read()) 
      { 
       //retMessage = "home.aspx"; 
       retMessage = "true"; 
      } 

      else 
      { 
       retMessage = "false"; 
      } 
     } 
     return retMessage; 
    } 
} 
+0

使用Firefox Firegbug控制檯 – 2014-11-06 07:14:10

+0

我已經使用它...仍然無法找出錯誤。我是JQuery新手 – user2096592 2014-11-06 07:15:58

+0

你是否已經捕獲了這個請求?您可以在Firefox或Chrome中使用網絡標籤。你是否運行該請求? – Fabio 2014-11-06 07:34:36

回答

1

你只需要在你的jQuery代碼刪除

alert('b');`` 

+0

對不起,當我在這裏粘貼我的問題時錯誤地輸入了它。 – user2096592 2014-11-06 07:21:53

+0

它的好的,前段時間我贊成這個問題,所以其他人可以幫助。希望你能解決這個問題:) – mpalencia 2014-11-06 07:45:04

0

嗨改變你的提交按鈕按鈕。

<input type="button" id="btnSubmit" value="Log in" /> 


data: {name: $('#txtfn').val() ,password: $('#txtln').val()}, 
+0

我試過了,仍然沒有工作 – user2096592 2014-11-06 07:32:22

+0

是否你的url路徑是正確的 – 2014-11-06 07:33:25

+0

是啊......實際上我把alert裏面的成功方法,它不執行。 – user2096592 2014-11-06 07:35:21

0

我更新了我的答案是: 不執行你的Ajax調用,因爲提交表單時,該代碼將阻止提交

$("#f1").submit(function (e) {e.preventDefault();}) 

到位之前$('#btnSubmit').click(function() {

更好的辦法將您的代碼放入

$("#f1").submit(function (e) { 
    e.preventDefault(); 
    // here place content of $('#btnSubmit').click(function() {()} 
}) 
+0

是的,它執行...'b'彈出窗口的警報框 – user2096592 2014-11-06 07:34:09

+0

xhr請求被髮送到服務器,什麼是狀態碼和來自服務器的響應? '提醒(數據)';'執行? – 2014-11-06 07:38:49

+0

除'b'外。什麼都沒有執行。我檢查了FireBug – user2096592 2014-11-06 07:39:56

0

嘗試在Ajax調用的末尾添加一個

return false 

+0

仍然不起作用 – user2096592 2014-11-06 07:50:07

+0

@ user2096592您的dataType設置爲json,嘗試按jQuery定義的dataType'text',任何格式錯誤的json都會被拒絕。 – 2014-11-06 07:55:06

+0

試過,仍然無法正常工作 – user2096592 2014-11-06 08:03:00

0

請確保您的Web方法接受JSON數據/參數,並恢復適當的true/false沒有任何異常/錯誤。 您可以通過在Firebug和Visual Studio中進行調試來完成。