Ajax 后台取得数据传递到前端指定文本框无法显示

zhx730621 2020-06-25 02:35:15
我在前端输入一个编号 ,通过Ajax传递到后台,在后台查询后,取得有效日期传递到前端文本框显示,但是前端文本框没有显示 ,请帮忙看一下问题在哪里
前端
index.asp

<!DOCTYPE html>
<html>
<head>
<script language="JavaScript" src="../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
%>
...全文
15428 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
浴火_凤凰 2020-07-04
  • 打赏
  • 举报
回复
如果ajax提交中文给后台的话 可以先使用encodeURIComponent(提交内容)编码一下
chinaskysun 2020-07-04
  • 打赏
  • 举报
回复
https://www.cnblogs.com/majinyu/archive/2009/03/18/1415527.html asp编码的文章,代码要放在asp页面的首行,你这就是放在conn.asp的首行
zhx730621 2020-07-04
  • 打赏
  • 举报
回复
引用 13 楼 zhx730621 的回复:
[quote=引用 12 楼 chinaskysun 的回复:]这个要看编辑器,每个编辑器的位置都不同,基本都在选择文件名的附近
我已经按照要求保存,但是运行还是显示乱码,是不是有其他地方需要修改? index.asp <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script language="JavaScript" src="../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 %> [/quote] 运行结果:
zhx730621 2020-07-04
  • 打赏
  • 举报
回复
引用 12 楼 chinaskysun 的回复:
这个要看编辑器,每个编辑器的位置都不同,基本都在选择文件名的附近
我已经按照要求保存,但是运行还是显示乱码,是不是有其他地方需要修改? index.asp <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script language="JavaScript" src="../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 %>
chinaskysun 2020-07-03
  • 打赏
  • 举报
回复
这个要看编辑器,每个编辑器的位置都不同,基本都在选择文件名的附近
zhx730621 2020-07-02
  • 打赏
  • 举报
回复
引用 10 楼 chinaskysun 的回复:
[quote=引用 9 楼 zhx730621 的回复:]我把<meta http-equiv="Content-Type" content="text/html; charset=gb2312">改为 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 但是返回字符还是乱码。请问如何修改?谢谢
把这个文件乃至所有文件都另存一下,找到选项里的编码,改为utf-8,保存一下。[/quote] 请问一下,我另存文件时,在哪里查找“选项”和编码,谢谢
chinaskysun 2020-07-01
  • 打赏
  • 举报
回复
引用 9 楼 zhx730621 的回复:
我把<meta http-equiv="Content-Type" content="text/html; charset=gb2312">改为 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 但是返回字符还是乱码。请问如何修改?谢谢
把这个文件乃至所有文件都另存一下,找到选项里的编码,改为utf-8,保存一下。
zhx730621 2020-07-01
  • 打赏
  • 举报
回复
我把<meta http-equiv="Content-Type" content="text/html; charset=gb2312">改为 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 但是返回字符还是乱码。请问如何修改?谢谢
浴火_凤凰 2020-06-30
  • 打赏
  • 举报
回复
建议所有编码 统一为 utf-8 前端后端 都是这个编码
zhx730621 2020-06-29
  • 打赏
  • 举报
回复
根据各位建议已经做了修改,现在出现新的问题,通过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="../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 %>
浴火_凤凰 2020-06-29
  • 打赏
  • 举报
回复
我感觉楼主的问题很多啊。。 看了一遍题就发现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应该统一 是一样的单词 才能获取到东西。 所以楼主是不是刚学习 在按照书本敲代码。
天际的海浪 2020-06-27
  • 打赏
  • 举报
回复

楼上说了 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); //获取返回的数据。。
		}
	})
}

chinaskysun 2020-06-27
  • 打赏
  • 举报
回复
request.querystring("q") -> request.form("q") 就可以使用post了 如果你懒省事,request("q")也是可以的,这样get和post就都可以了,只是太不严格了,容易出错
chinaskysun 2020-06-27
  • 打赏
  • 举报
回复
request.querystring("q") -> request.form("q") 就可以使用post了 如果你懒省事,request("q")也是可以的,这样get和post就都可以了,只是太不严格了,容易出错
zhx730621 2020-06-26
  • 打赏
  • 举报
回复
请教一下 ,为什么type: "GET"可以,但是换成type: "POST"却不可以
天际的海浪 2020-06-25
  • 打赏
  • 举报
回复

function showHint(str){
	$.ajax({
		type: "GET",
		url : "gethint.asp",
		data: {"q":str},
		success: function(hint){
			$("#txtHint").val(hint); //获取返回的数据。。
		}
	})
}

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧