初學.net,驗證學號重復,我要如何才能在前臺獲取我想要的值,也沒有進error,但是無論我用response.wirte()還是回傳值,ajax的判斷都執行第一個if陳述句里的內容,而且用response.wirte()的話,網頁上會蹦出個0,回傳的data里還有整個html,甚是苦惱,求大神解救。
這是html:
<input onblur="aaa()" name="std_id" id="std_id" placeholder="請輸入學號" runat="server" type="text" autocomplete="off" >
<span style="color:red;" id="isnum" runat="server"></span>
這是js:
if (reg.test(std_id.value)) {
isnum.innerHTML = "";
$.ajax({
url: "WebForm1.aspx/Is_Std",
async: true,
data: { std_id: $("#std_id").val() },
type: "post",
success: function (data) {
var getfun = <%=Is_Std()%>;
console.log(getfun)
if (getfun = "1") {
isnum.innerHTML = "學號存在";
}
else if (getfun = "0"){
isnum.innerHTML = "學號不存在,可以使用";
}
},
error: function (data) {
alert("錯了");
}
})
}
這是后臺:
protected void Page_Load(object sender, EventArgs e)
{
load();
Is_Std();
}
public string Is_Std()
{
OpenDatabase();
string number = Request["std_id"];
if (JudgeStd(number)=="1")
{
conn.Close();
//Response.Write("1");
return "1";
}
else
{
conn.Close();
//Response.Write("0");
return "0";
}
//Response.Flush();
//Response.End();
}
public string JudgeStd(string std)
{
string sql1 = "select * from student_info where student_id= '" + std + "'";
cmd = new SqlCommand(sql1, conn);
SqlDataReader sqlrd1;
sqlrd1 = cmd.ExecuteReader();
if (sqlrd1.HasRows)
{
sqlrd1.Close();
return "1";
}
else
{
sqlrd1.Close();
return "0";
}
}
uj5u.com熱心網友回復:
WebForm1.aspx頁面上不能有html代碼,不然就會輸出來的,或者你改成ashx一般處理程式uj5u.com熱心網友回復:
還是按正規做法吧, ajax 只請求 ashx 一般處理程式檔案。uj5u.com熱心網友回復:
后臺Response.Write("1");Response.End();前臺js判斷那里你寫錯了吧,應該是if (getfun == "1") 不是if (getfun = "1")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/69594.html
標籤:ASP.NET
上一篇:WPF NPOI有沒有提供預覽功能,或者使用NPOI怎么實作excel檔案的預覽
下一篇:vb.net ChartArea
