Ajax+Jquery 点击提交按钮无任何反应

sspanzervor1 2017-11-23 02:13:56
一个很简单的登录认证,如果在数据表中找到符合要求的用户记录,即显示登录成功,但是实际操作时,执行下述代码无任何反应,盼请各位前辈多多指教,不胜感激!
登录页面 ftt_login.asp

<script src="jquery-3.2.1.js"></script>
<script language="javascript">
//用户登录验证,主函数的作用是等待页面所有DOM元素全部加在完成后,再执行JS
$(document).ready(function(){
$('#btn_login').click(function() {
chkLogin();
})
})

function chkLogin(){
if ($("#txt_uid").val()=="") {
$("#msg_uid").html("用户名不能为空!");
$("#txt_uid").focus();
return false;
}
else {
$("#msg_uid").html("");
}
if ($("#txt_psw").val()=="") {
$("#msg_psw").html("用户密码不能为空!");
$("#txt_uid").focus();
return false;
}
else {
$("#msg_psw").html("");
}

//$("#msg").text($("form").serialize());
$.ajax({
type:POST,
url:"ftt_logchk.asp",
data:$("form").serialize(),
success: function(data){
if (data=="1"){
$("#msg").html("登录成功!");
return true;
}
else {
$("#msg").html("用户名或密码错误,请重新输入!");
$("#txt_uid").focus();
return false;
}
error: function(){
alert("aaa");
}
}
})
}

</script>


HTML表单代码:
		<fieldset>
<legend style="font-size:12px;"> 登录系统 </legend>
<form name="form1" method="post" action="">
<p>
<label for="">用户名</label>
<input type="text" id="txt_uid" size="20" maxlength="30" />
<span id="msg_uid"></span>
</p>
<br />
<p>
<label for="">密码</label>
<input type="password" id="txt_psw" size="20" maxlength="30" />
<span id="msg_psw"></span><br>
</p>
<p>
<input type="button" id="btn_login" value="登录">
<span id="msg"></span>
</p>
</form>
</fieldset>

后台ftt_logchk.asp
	dim rs,sql
temp=0
set rs=server.CreateObject("adodb.recordset")
sql="select * from t_user"
rs.open sql,db,3,3
do while not rs.eof
if rs("c_user_name")=request("txt_uid") & rs("c_user_psw")=request("txt_psw") then
temp=1
exit do
end if
rs.movenext
loop
if temp=1 then response.Write("1") else response.Write("0")
...全文
810 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sspanzervor1 2017-11-24
  • 打赏
  • 举报
回复
多谢版主指点,我这也是被赶鸭子上架,没办法……唉 之前一直输出的参数不正确,后来发现是它把ASP页面里面的HTML代码也一并返回了,这样肯定得不到数值,把HTML代码都删掉就Ok了,原来程序页面不止是只输出response.wirte的内容返回到Ajax
Go 旅城通票 2017-11-24
  • 打赏
  • 举报
回复
你的vbs也太差了。。vbs的和判断是and,不是&,这个是与运算了 if rs("c_user_name")=request("txt_uid") and rs("c_user_psw")=request("txt_psw") then 而且sql直接选出需要的记录就行了,干嘛要选出所有的执行变量判断。。

sql="select count(c_user_name) from t_user where c_user_name='"&request("txt_uid")&"' and c_user_psw='"&request("txt_psw")&"'"'统计有几条
set rs=db.execute(sql)
Response.Write rs(0)'直接输出统计出来的数据量
rs.close:set rs=nothing


Web开发学习资料推荐
Web开发
easyui datagrid fitColumns:true失效解决办法
sspanzervor1 2017-11-24
  • 打赏
  • 举报
回复
现在Ajax方法是返回状态Success了,但是明明输入的用户名和密码是正确的,但是仍然返回“用户名或密码错误”的提示,似乎在下述代码中,函数参数data取不到值,不知是何原因,盼请各位指教~ success: function(data){ if (data=="1"){ $("#msg").html("登录成功!"); return true; } else { $("#msg").html("用户名或密码错误,请重新输入!"); $("#txt_uid").focus(); return false; } },
sspanzervor1 2017-11-23
  • 打赏
  • 举报
回复
是否是因为我在Jquery的Ajax方法中,需要设置别的datatype?
sspanzervor1 2017-11-23
  • 打赏
  • 举报
回复
多谢前辈,但是在用调试台测试时,出现如下的错误提示:

不过找到对应的ASP文件中,无法定位所谓的错误信息:



可否指教一下?非常感谢!
天际的海浪 2017-11-23
  • 打赏
  • 举报
回复
引用 5 楼 sspanzervor1 的回复:
jslang前辈,您说的 console.log($("form").serialize()) 我不太明白,不好意思还得烦请您帮忙指点下,感谢!
没用过浏览器控制台吗?? console.log($("form").serialize()) 放按钮事件中

        $('#btn_login').click(function() {
	        console.log($("form").serialize());
            chkLogin();
        })
在浏览器中按F12开启控制台,点击按钮后,$("form").serialize()的值就输出到控制台中
sspanzervor1 2017-11-23
  • 打赏
  • 举报
回复
jslang前辈,您说的 console.log($("form").serialize()) 我不太明白,不好意思还得烦请您帮忙指点下,感谢!
天际的海浪 2017-11-23
  • 打赏
  • 举报
回复
引用 3 楼 sspanzervor1 的回复:
多谢各位前辈的指点,Ajax终于能运行了,但是我在字符串回传时一直提示用户名或密码错误,我估计是否是serialize()方法的问题?因为我在后台的ASP程序里,使用的是Request("txt_uid")和request("txt_psw") 这样是不是获取不到值?请各位前辈指教,多谢了!
你输出下console.log($("form").serialize());看看啊 注意 表单元素要加name
sspanzervor1 2017-11-23
  • 打赏
  • 举报
回复
多谢各位前辈的指点,Ajax终于能运行了,但是我在字符串回传时一直提示用户名或密码错误,我估计是否是serialize()方法的问题?因为我在后台的ASP程序里,使用的是Request("txt_uid")和request("txt_psw") 这样是不是获取不到值?请各位前辈指教,多谢了!
天际的海浪 2017-11-23
  • 打赏
  • 举报
回复
表单元素要加name <input type="text" id="txt_uid" name="txt_uid" size="20" maxlength="30" /> <input type="password" id="txt_psw" name="txt_psw" size="20" maxlength="30" />

		$.ajax({
			type:"POST",//---------------加引号
			url:"ftt_logchk.asp",
			data:$("form").serialize(),
			success: function(data){
				if (data=="1"){
					$("#msg").html("登录成功!");
					return true;
				}
				else {
					$("#msg").html("用户名或密码错误,请重新输入!");
					$("#txt_uid").focus();
					return false;
				}
			},
			error: function(){  //----------------放success:外面
				alert("aaa");
			}
		})
	}

apple8160 2017-11-23
  • 打赏
  • 举报
回复
<input type="text" id="txt_uid" name="txt_uid" size="20" maxlength="30" /> <input type="password" id="txt_psw" name="txt_psw" size="20" maxlength="30" />

52,797

社区成员

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

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