私はJquery Ajaxの初心者です。あなたの助けが必要です。私は自分のDB内のUsername Existをチェックし、span要素の横にテキストを表示したい。私はすでにいくつかのトピックを参照して行っているが、私は JQueryとasp.netのパラメータの欠落しているWebサービスコールが無効です
<script type="text/javascript" language="javascript" src="Scripts/jquery-1.2.6.min.js"></script>
<script type="text/javascript" language="javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j("#<%=txtusername.ClientID %>").blur(function() {
$j.ajax({
type: "POST",
url: "Register.aspx/KiemTraLogin",
data: "{'Username':'" + $j("#<%=txtusername.ClientID %>").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (message) {
if (message.d == false) {
$j("#checkReturn").css({
"color": "red",
"font-weight": "bold",
"font-size": "small",
"padding-left": "5px"
});
$j("#checkReturn").text("Username Exist!");
$j("#btnSubmit").hide();
}
else {
$j("#checkReturn").css({
"color": "green",
"font-weight": "bold",
"font-size": "small",
"padding-left": "5px"
});
$j("#btnInsert").show();
$j("#checkReturn").text("UserName OK")
}
},
error: function (errormessage) {
$j("#checkReturn").text(errormessage.responseText);
}
});
});
});
</script>
はJavaScript
で
[System.Web.Services.WebMethod]
public static bool KiemTraLogin(string username)
{
CommonData dt = new CommonData();
bool check = false;
DataTable tb = dt.TruyVanTheoTenDangNhap(username);
if (tb.Rows.Count > 0)
{
check = false;
}
else
check = true;
return check;
}
の後ろのコードでは、ASPX
<asp:TextBox ID="txtusername" runat="Server" name="username" class="inputbox frontlogin"/><span id="checkReturn"></span>
でそれ
{"Message":"Invalid web service call, missing value for parameter: \u0027username\u0027.","StackTrace":" at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary 2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target,IDictionary 2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary 2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"} *
を解決することはできません
ストア手順
ALTER Procedure [dbo].[spTB_TruyVanTheoTenDangNhap] @TenDangNhap nvarchar(50)as select Username from Accinfo where Username = @TenDangNhap
LINQのコード事前に
public DataTable TruyVanTheoTenDangNhap(string TenDangNhap)
{
DataTable dt = new DataTable();
try
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("spTB_TruyVanTheoTenDangNhap");
cmd.Parameters.Add(new SqlParameter("@TenDangNhap", SqlDbType.NVarChar));
cmd.Parameters[0].Value = TenDangNhap;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
dt = ds.Tables[0];
}
catch (System.Exception ex)
{
}
return dt;
}
ありがとう!
JavaScriptはページに埋め込まれているか、リソースとして読み込まれていますか? #<%= something.ClientID%>の呼び出しが機能しない可能性があります。 – Alfabravo
jqueryの代わりに "{Username:Dude}"を実行してエラーを解決するかどうかを確認してください。 –