您现在的位置:首页 >> 前端 >> 内容

注册页面内出现登陆页面的问题解析

时间:2018/6/14 14:10:28 点击: 20

  核心提示:问题:注册页面内出现登陆页面1.需求:用户输完用户名,失去焦点后提示用户名是否被占用。2.思路:onblur=checkUsername(),用失去焦点事件去数据库查询3.运行结果3.1预期3.2现实...

问题:注册页面内出现登陆页面

1.需求:用户输完用户名,失去焦点后提示用户名是否被占用。

2.思路:onblur="checkUsername()",用失去焦点事件去数据库查询

3.运行结果

3.1预期

注册页面内出现登陆页面的问题解析

3.2现实

注册页面内出现登陆页面的问题解析

控制台

注册页面内出现登陆页面的问题解析

并没有异常信息输出

4.代码

<script type="text/javascript">
	function checkUsername() {
		var username = document.getElementById("username").value;

		var xhr;
		if (window.XMLHttpRequest) {
			xhr = new XMLHttpRequest();
		} else {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xhr.open("POST", "${ pageContext.request.contextPath}/user/checkUsername");
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("username=" + username);

		xhr.onreadystatechange = function() {
			if (xhr.readyState == 4 && xhr.status == 200) {
				var msg = xhr.responseText;
				console.info(msg);// 打印到控制台
				var span = document.getElementById("msg_username");
				span.innerHTML = msg;
			}
		};
	}
</script>

5.原因

看到后台“已拦截”,想到可能是拦截器导致

虽然结果看似怪异,推测xhr.responseText把拦截器返回的视图拿到了,innerHTML到页面上被解释成html元素,

结合chome控制台执行到xhr.readyState == 4 && xhr.status == 200,说明状态正常

所以问题一定出在xhr.open("POST", "${ pageContext.request.contextPath}/user/checkUsername");附近,url路径出错了

作者:网络 来源:yunzhongxi
请选择您看到这篇文章时的心情: 已有0人表态:
0
0
0
0
0
0
0
0
惊讶 欠揍 支持 很棒 愤怒 搞笑 恶心 不解