我在前端輸入一個編號 ,通過Ajax傳遞到后臺,在后臺查詢后,取得有效日期傳遞到前端文本框顯示,但是前端文本框沒有顯示 ,請幫忙看一下問題在哪里
前端
index.asp
<!DOCTYPE html>
<html>
<head>
<script language="JavaScript" src="https://bbs.csdn.net/inc/jquery-1.12.4.js"></script>
<script>
function showHint(str){
var seakey = $(".name").val();
$.ajax({
type: "POST",
url : "gethint.asp",
data: {"name":seakey},
success: function(hint){
$(".name").val=hint //獲取回傳的資料。。
}
})
}
</script>
</head><body>
<p><b>Start typing a name in the input field below:</b></p>
<form>
設備編號: <input type="text" onChange="showHint(this.value)" size="20">
有效日期: <input id="txtHint" type="text" size="20">
</form>
</body>
</html>
后臺
gethint.asp
<!-- #include file="../inc/conn.asp" -->
<%
sbbh=request.querystring("q")
set rs_bzqyxrq=server.CreateObject("ADODB.recordset")
sql_bzqyxrq="select * from clsbtz where sbbh='"&sbbh&"'"
rs_bzqyxrq.open sql_bzqyxrq,conn,1,1
rs_bzqyxrq.movelast
hint=rs_bzqyxrq("yxrq")
if hint="" then
response.write("no suggestion")
else
response.write(hint)
end if
%>
uj5u.com熱心網友回復:
function showHint(str){
$.ajax({
type: "GET",
url : "gethint.asp",
data: {"q":str},
success: function(hint){
$("#txtHint").val(hint); //獲取回傳的資料。。
}
})
}
uj5u.com熱心網友回復:
請教一下 ,為什么type: "GET"可以,但是換成type: "POST"卻不可以uj5u.com熱心網友回復:
request.querystring("q") -> request.form("q") 就可以使用post了如果你懶省事,request("q")也是可以的,這樣get和post就都可以了,只是太不嚴格了,容易出錯
uj5u.com熱心網友回復:
request.querystring("q") -> request.form("q") 就可以使用post了如果你懶省事,request("q")也是可以的,這樣get和post就都可以了,只是太不嚴格了,容易出錯
uj5u.com熱心網友回復:
樓上說了 post 方式請求的引數要用 request.form("q") 取
也可以把引數用字串拼接到url地址中,
就可以以post方式發送請求而用 request.querystring("q") 取url地址中的引數了
function showHint(str){
$.ajax({
type: "POST",
url : "gethint.asp?q="+str,
success: function(hint){
$("#txtHint").val(hint); //獲取回傳的資料。。
}
})
}
uj5u.com熱心網友回復:
我感覺樓主的問題很多啊。。看了一遍題就發現4個問題:
1.$(".name").val=hint //獲取回傳的資料。。
這種寫法是錯的 要賦值的話 使用$(".name").val(hint)設定
2.我在HTML檔案沒有找到class="name"的元素,$(".name")應該獲取不到任何東西的
3.在ASP里 GET方法使用request.querystring("q") POST方法使用 -> request.form("q")
樓主的ajax使用了POST 所以應該使用request.form("q")
4.request.form("q")和ajax里的 {"name":seakey} 不對應
這里的name和q應該統一 是一樣的單詞 才能獲取到東西。
所以樓主是不是剛學習 在按照書本敲代碼。
uj5u.com熱心網友回復:
根據各位建議已經做了修改,現在出現新的問題,通過Ajax后臺傳遞回前端字串是亂碼,我前端頁面是charset=gb2312",但是Ajax使用的是charset=UTF-8,這如何解決,再問一下,如果前端是傳遞的是中文字符,如何傳遞到后臺不產生亂碼。謝謝。前端
index.asp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript" src="https://bbs.csdn.net/inc/jquery-1.12.4.js"></script>
<script>
function showHint(){
var sbbh = document.getElementById("sbbh").value;
$.ajax({
type:"POST",
url:"gethint.asp",
data:{"sbbh":sbbh},
success:function(yxrq){
$("#txtHint").val(yxrq); //獲取回傳的資料。。
//$('#txtHint').val(""); //清空上次input框里的資料
//$('#txtHint').val(aaa['boxnum']); //往input框里傳值
}
});
}
</script>
<p><b>Start typing a name in the input field below:</b></p>
<form>
設備編號: <input type="text" onChange="showHint()" id="sbbh" size="20">
有效日期: <input id="txtHint" type="text" size="20">
</form>
</body>
</html>
后臺
gethint.asp
<!-- #include file="../inc/conn.asp" -->
<%
//Response.Charset("GB2312")
sbbh=request.form("sbbh")
set rs_bzqyxrq=server.CreateObject("ADODB.recordset")
sql_bzqyxrq="select * from clsbtz where sbbh='"&sbbh&"'"
rs_bzqyxrq.open sql_bzqyxrq,conn,1,1
rs_bzqyxrq.movelast
yxrq=rs_bzqyxrq("sccj")&","&rs_bzqyxrq("clsbmc")
if yxrq="" then
Response.write("no suggestion")
else
Response.write(yxrq)
end if
%>
uj5u.com熱心網友回復:
建議所有編碼 統一為 utf-8 前端后端 都是這個編碼uj5u.com熱心網友回復:
我把<meta http-equiv="Content-Type" content="text/html; charset=gb2312">改為<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
但是回傳字符還是亂碼。請問如何修改?謝謝
uj5u.com熱心網友回復:
把這個檔案乃至所有檔案都另存一下,找到選項里的編碼,改為utf-8,保存一下。
uj5u.com熱心網友回復:
請問一下,我另存檔案時,在哪里查找“選項”和編碼,謝謝
uj5u.com熱心網友回復:
這個要看編輯器,每個編輯器的位置都不同,基本都在選擇檔案名的附近uj5u.com熱心網友回復:
這個要看編輯器,每個編輯器的位置都不同,基本都在選擇檔案名的附近
我已經按照要求保存,但是運行還是顯示亂碼,是不是有其他地方需要修改?
index.asp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript" src="https://bbs.csdn.net/inc/jquery-1.12.4.js"></script>
<script>
function showHint(){
var sbbh = document.getElementById("sbbh").value;
$.ajax({
type:"POST",
url:"gethint.asp",
data:{"sbbh":sbbh},
success:function(yxrq){
$("#txtHint").val(yxrq); //獲取回傳的資料。。
//$('#txtHint').val(""); //清空上次input框里的資料
//$('#txtHint').val(aaa['boxnum']); //往input框里傳值
}
});
}
</script>
<p><b>Start typing a name in the input field below:</b></p>
<form>
設備編號: <input type="text" onChange="showHint()" id="sbbh" size="20">
有效日期: <input id="txtHint" type="text" size="20">
</form>
</body>
</html>

gethint.asp
<!-- #include file="../inc/conn.asp" -->
<%
sbbh=request.form("sbbh")
set rs_bzqyxrq=server.CreateObject("ADODB.recordset")
sql_bzqyxrq="select * from clsbtz where sbbh='"&sbbh&"'"
rs_bzqyxrq.open sql_bzqyxrq,conn,1,1
rs_bzqyxrq.movelast
yxrq=rs_bzqyxrq("sccj")
if yxrq="" then
Response.write("no suggestion")
else
Response.write(yxrq)
end if
%>
uj5u.com熱心網友回復:
這個要看編輯器,每個編輯器的位置都不同,基本都在選擇檔案名的附近
我已經按照要求保存,但是運行還是顯示亂碼,是不是有其他地方需要修改?
index.asp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript" src="https://bbs.csdn.net/inc/jquery-1.12.4.js"></script>
<script>
function showHint(){
var sbbh = document.getElementById("sbbh").value;
$.ajax({
type:"POST",
url:"gethint.asp",
data:{"sbbh":sbbh},
success:function(yxrq){
$("#txtHint").val(yxrq); //獲取回傳的資料。。
//$('#txtHint').val(""); //清空上次input框里的資料
//$('#txtHint').val(aaa['boxnum']); //往input框里傳值
}
});
}
</script>
<p><b>Start typing a name in the input field below:</b></p>
<form>
設備編號: <input type="text" onChange="showHint()" id="sbbh" size="20">
有效日期: <input id="txtHint" type="text" size="20">
</form>
</body>
</html>
gethint.asp
<!-- #include file="../inc/conn.asp" -->
<%
sbbh=request.form("sbbh")
set rs_bzqyxrq=server.CreateObject("ADODB.recordset")
sql_bzqyxrq="select * from clsbtz where sbbh='"&sbbh&"'"
rs_bzqyxrq.open sql_bzqyxrq,conn,1,1
rs_bzqyxrq.movelast
yxrq=rs_bzqyxrq("sccj")
if yxrq="" then
Response.write("no suggestion")
else
Response.write(yxrq)
end if
%>
運行結果:
uj5u.com熱心網友回復:
https://www.cnblogs.com/majinyu/archive/2009/03/18/1415527.htmlasp編碼的文章,代碼要放在asp頁面的首行,你這就是放在conn.asp的首行
uj5u.com熱心網友回復:
如果ajax提交中文給后臺的話 可以先使用encodeURIComponent(提交內容)編碼一下轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/32102.html
標籤:Ajax
上一篇:Webstorm打不開怎么辦
