how2j.cn

通过AJAX Asynchronous JAvaScript and XML 实现异步刷新

示例 1 : 用于用户名校验的页面   
示例 2 : 不使用AJAX 通过刷新页面验证账号是否存在   
示例 3 : 使用AJAX 通过无刷新验证账号是否存在   

示例 1 :

用于用户名校验的页面

准备一个JSP页面,叫做checkName.jsp用于校验提交的用户名是否存在
如果提交的用户名是abc就打印存在,否则就可以使用


提示:使用F5回到原来页面
运行效果
<html> <a href="http://how2j.cn/study/checkName.jsp?name=abc">checkName.jsp?name=abc</a> <br> <a href="http://how2j.cn/study/checkName.jsp?name=def">checkName.jsp?name=def</a> </html>
<html>

<a href="http://how2j.cn/study/checkName.jsp?name=abc">checkName.jsp?name=abc</a>
<br>
<a href="http://how2j.cn/study/checkName.jsp?name=def">checkName.jsp?name=def</a>

</html>



源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 2 :

不使用AJAX 通过刷新页面验证账号是否存在

如果不使用AJAX,传统的方法需要通过提交数据 刷新页面来获知用户名是否存在。
提示:使用F5回到原来页面
运行效果
<form action="http://how2j.cn/study/checkName.jsp"> 输入账号 <input name="name" type="text" value="abc"> <input type="submit" value="验证账号是否存在"> </form>
<form action="http://how2j.cn/study/checkName.jsp">

输入账号 <input name="name" type="text" value="abc"> 

<input type="submit" value="验证账号是否存在">

</form>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 3 :

使用AJAX 通过无刷新验证账号是否存在

运行效果
<span>输入账号 :</span> <input id="name" name="name" onkeyup="check()" type="text"> <span id="checkResult"></span> <script> var xmlhttp; function check(){ var name = document.getElementById("name").value; var url = "http://how2j.cn/study/checkName.jsp?name="+name; xmlhttp =new XMLHttpRequest(); xmlhttp.onreadystatechange=checkResult; //响应函数 xmlhttp.open("GET",url,true); //设置访问的页面 xmlhttp.send(null); //执行访问 } function checkResult(){ if (xmlhttp.readyState==4 && xmlhttp.status==200) document.getElementById('checkResult').innerHTML=xmlhttp.responseText; } </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果



问答区域    
2017-09-16 自动换行
OnePunch



老师,我用火狐,没加换行标签,怎么也自动换行啊
<!DOCTYPE html>
<html>
<head>
<title>checkName</title>
<script>
	var xmlhttp;
	function check() {
		var name = document.getElementById("name").value;
		var url = "checkName.jsp?name=" + name;

		xmlhttp = new XMLHttpRequest();
		xmlhttp.onreadystatechange = checkResult; //响应函数
		xmlhttp.open("GET", url, true); //设置访问的页面
		xmlhttp.send(null); //执行访问
	}

	function checkResult() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
			document.getElementById('checkResult').innerHTML = xmlhttp.responseText;

	}
</script>
</head>
<body>
	<span>输入账号 :</span>
	<input id="name" name="name" onkeyup="check()" type="text"/>
	<span id="checkResult"></span>
</body>
</html>

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-07-20 url问题
啦啦啦1288



"/study/checkName.jsp?name="+name 老师 这个地址不是会解析成本地文件的一个地址吗?怎么进行发起http请求呢?

							

							


1 个答案

how2j 答案时间:2017-07-21
因为放在服务器上的,所以其实是访问的: http://how2j.cn//study/checkName.jsp




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-06-03 xml里面内容名写了什么
2017-06-02 abc在哪里判断的




提问之前请登陆
关于 前端基础-Ajax-Hello AJAX 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 661682521
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图