Jquery 来自c#web方法的布尔响应不';行不通

Jquery 来自c#web方法的布尔响应不';行不通,jquery,asp.net,ajax,webmethod,toastr,Jquery,Asp.net,Ajax,Webmethod,Toastr,这是我第一次尝试ajax! 我在网上找不到一个好的帖子,在那里我可以学习并申请我的项目 让我直接给你看代码 [WebMethod] protected bool CheckUsername(string username) { var check = (from c in dc.dml_np_Users where c.Username.Equals(username) s

这是我第一次尝试ajax! 我在网上找不到一个好的帖子,在那里我可以学习并申请我的项目

让我直接给你看代码

    [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>

$('#txtUsername').blur(函数(){
$(函数(){
$.ajax({
类型:“POST”,
url:“Login.aspx.cs/CheckUsername”,
数据:JSON.stringify({username:$('#txtUsername').val()}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
如果(数据){
toastr.success(“用户名可用”);
}
否则{
toastr.error('用户名已存在');
$('#txtUsername').focus();
}
},
错误:函数(数据){
}
});
});
});
现在jquery应该包括如下内容:如果(var available为true),successtoastr应该显示,否则错误toastr应该显示!我第一次使用toastr!请更正我的代码!!请原谅我在一个问题中问了太多的问题


以上代码始终显示错误消息

只是验证一下

                        <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>

$(文档).ready(函数(){
$('#txtUsername').blur(函数(){
$.ajax({
类型:“POST”,
url:“Login.aspx.cs/CheckUsername”,
数据:JSON.stringify({username:$('#txtUsername').val()}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
如果(数据){
toastr.success(“用户名可用”);
}
否则{
toastr.error('用户名已存在');
$('#txtUsername').focus();
}
},
错误:函数(数据){
}
});
});
});

在我看来,将此
url:“Login.aspx.cs/CheckUsername”
更改为此
url:“Login.aspx/CheckUsername”

它总是显示错误消息!!无论我在文本框中输入什么!如果我添加了一个不在数据库中的值,它仍然会显示错误消息!我肯定我的ajax调用有问题!:(缺少参数“data”。url:“Login.aspx.cs/CheckUsername”,data=“username=name\u current\u user”,…username=name\u current\u user是什么意思?我的意思是每一个都是什么意思?username是方法的参数,name\u current\u user是文本框“txtextername”的值ie将到达服务器的值,但数据将是布尔值,因为我正在调用一个c#函数,该函数使用webmethod返回布尔值?我可能遗漏了一些内容,但您在ajax请求中将
用户名
传递到哪里?@Wahtever我更新了代码!!现在查看!!问题已解决!最终!!感谢开发人员的工具(Chrome)\为什么这个问题被否决?