Jquery ajax调用不会触发服务器端web方法
我有一个asp.net网页,在该网页中,我试图验证用户名,同时通过ajax调用输入用户名,但调用返回未定义的值,当我尝试调试它时,我发现控件无法到达服务器端web方法代码。ajax调用代码是Jquery ajax调用不会触发服务器端web方法,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,我有一个asp.net网页,在该网页中,我试图验证用户名,同时通过ajax调用输入用户名,但调用返回未定义的值,当我尝试调试它时,我发现控件无法到达服务器端web方法代码。ajax调用代码是 $(function () { $("#ContentPlaceHolder2_txtUserName").change(checkUser); }); function checkUser() { var usernm = $('#ContentPlaceHolder2_txtUser
$(function () {
$("#ContentPlaceHolder2_txtUserName").change(checkUser);
});
function checkUser() {
var usernm = $('#ContentPlaceHolder2_txtUserName').val();
$.ajax({
type: "POST",
url: "AdminHome.aspx/CheckUser",
data: { username: usernm },
success: function (data) {
//var data = $.parseJSON(data.d);
alert(data);
$("#ContentPlaceHolder2_lblError").empty();
if (data.d != "0") {
$("#ContentPlaceHolder2_lblError").html(' That user name has already been taken');
}
}
});
}
服务器端代码如下所示
[WebMethod]
public static int CheckUser(string username)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnect"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("SP_CheckUserName", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@username", username);
conn.Open();
int result= (int)cmd.ExecuteScalar();
return result;
}
}
给出完整的url,如:
http://localhost:8095/AdminHome.aspx/CheckUser
或只需在URL中添加正斜杠:/AdminHome.aspx/CheckUser
。您应该查看您的网络请求,看看是否执行了请求,以及调用了什么URL。