2014-02-13 30 views
-1

這是我第一次嘗試ajax! 我無法在互聯網上找到一篇好文章,從我可以學習的地方申請到我的項目。來自c#web方法的布爾響應不起作用

讓我告訴你的代碼直通車!

[WebMethod] 
    protected bool CheckUsername(string username) 
    { 
     var check = (from c in dc.dml_np_Users 
        where c.Username.Equals(username) 
        select c).Count(); 
     if (check > 0) 
     { 
      return false; //return false if username exist in database 
     } 
     else 
     { 
      return true; //true if it doesn't exist, i.e available 
     } 
    } 

標記與jQuery如下:

<script type="text/javascript"> 
          $('#txtUsername').blur(function() { 
           $(function() { 
            $.ajax({ 
             type: "POST", 
             url: "Login.aspx.cs/CheckUsername", 
             data: JSON.stringify({ username: $('#txtUsername').val() }), 
             contentType: "application/json; charset=utf-8", 
             dataType: "json", 
             success: function (data) { 
              if (data) { 
               toastr.success('username available'); 
              } 
              else { 
               toastr.error('Username already exist'); 
               $('#txtUsername').focus(); 
              } 
             }, 
             error: function (data) { 

             } 
            }); 
           }); 
          }); 
         </script> 
         <asp:TextBox ID="txtUsername" CssClass="form-control" runat="server" placeholder="Username" 
          AutoCompleteType="DisplayName" ValidationGroup="Signup"></asp:TextBox> 

現在的jQuery應包括這樣的:如果(VAR可以爲true)成功toastr應顯示其他錯誤toastr應顯示!我第一次使用toastr!請糾正我的代碼!請原諒我在一個問題中問太多問題!

上面的代碼總是顯示錯誤消息!

+0

我可能會丟失成才,但是你在哪裏傳遞'username'你ajax請求? – Wahtever

+0

@Wahtever我更新了代碼!現在就看! – vohrahul

+0

解決問題!最後!!感謝開發者的工具(Chrome)* _ * – vohrahul

回答

0

只是做驗證?

     <script type="text/javascript"> 
        $(document).ready(function(){ 
         $('#txtUsername').blur(function() { 
           $.ajax({ 
            type: "POST", 
            url: "Login.aspx.cs/CheckUsername", 
            data: JSON.stringify({ username: $('#txtUsername').val() }), 
            contentType: "application/json; charset=utf-8", 
            dataType: "json", 
            success: function (data) { 
             if (data) { 
              toastr.success('username available'); 
             } 
             else { 
              toastr.error('Username already exist'); 
              $('#txtUsername').focus(); 
             } 
            }, 
            error: function (data) { 

            } 
           }); 
         }); 
       }); 
        </script> 
        <asp:TextBox ID="txtUsername" CssClass="form-control" runat="server" placeholder="Username" 
         AutoCompleteType="DisplayName" ValidationGroup="Signup"></asp:TextBox> 
+0

不工作! :(( – vohrahul

+0

發生了什麼?可以顯示? –

+0

它總是顯示錯誤信息!!無論我在文本框中輸入什麼!如果我添加一個不在數據庫中的值,它仍然顯示錯誤信息! m確定我的ajax調用有問題!:( – vohrahul

1

在我看來改變這種url: "Login.aspx.cs/CheckUsername",這個url: "Login.aspx/CheckUsername",