Jquery 来自c#web方法的布尔响应不';行不通
这是我第一次尝试ajax! 我在网上找不到一个好的帖子,在那里我可以学习并申请我的项目 让我直接给你看代码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
[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)\为什么这个问题被否决?