私はajaxを呼び出そうとしています。そして、ajaxは'WebMethod`を呼び出しますが、私のAJAXは実行されません。ここで ajaxがコールしていない
はTextBox.TextChanged
イベント
<input id="usernamesignup" name="usernamesignup" required="required" type="text" placeholder="User Name" runat ="server" onchange="checkUserName();"/>
とAJAXのために私が書いたJavaScript関数
function checkUserName()
{
debugger;
$.ajax({
type: "POST",
async: true,
url: "SignUp1.aspx/CheckUserNameAvailability",
data: '{username: "'+ $("#<%=usernamesignup.ClientID%>").value.trim() +'" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var msg = $("#<%=LabelStatus.ClientID%>")[0];
switch (response.d) {
case "true":
msg.style.display = "block";
msg.style.color = "red";
msg.innerHTML = "User Name Or Email already exists.";
break;
case "false":
msg.style.display = "block";
msg.style.color = "green";
msg.innerHTML = "User Name Or Email Available";
break;
}
}
});
}
のHTMLコードで、私のWebMethod
は
[System.Web.Services.WebMethod]
public static int CheckUserNameAvailability(string username)
{
string conString = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
using (MySqlConnection conn = new MySqlConnection(conString))
{
using (MySqlCommand cmd = new MySqlCommand("spCheckUserNameAvailability", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("UserName", username);
conn.Open();
return (int)cmd.ExecuteScalar();
}
}
}
は、誰もが私にいくつかを提案してくださいですこのコードを変更して動作させる
あなたのinput要素の後にJSコードはありますか?あなたの機能はグローバルスコープにさらされていますか? – TryingToImprove
あなたのメソッドは 'bool'ではなく' int'を返します – Franck