博主信息
博文 28
粉丝 0
评论 0
访问量 21133
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
2018-09-13JSON+AJAX
阿小的博客
原创
1344人浏览过

实例

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax实战:表单验证</title>
</head>
<body>
<form>
<p>邮箱:<input type="email" name="email"><p>
<p>密码:<input type="password" name="password"></p>
<p><button type="button" name="btn">提交</button></p>

</form>

<script type="text/javascript">
	let btn = document.getElementsByTagName('button')[0];
	
	btn.onclick = function() {
		//1.创建XMLHTTPRequest()
		let xhr = new XMLHttpRequest();
		
		//2.监听响应状态       onreadystatechange()事件,监听服务器状态变化
		xhr.onreadystatechange = function() {
			if(xhr.readyState === 4) {	//readyState属性:请求状态的值,就绪状态4
				if(xhr.status === 200) {	//status属性:请求的状态码,200说明已从服务器上返回数据
					let p = document.createElement('p');
					p.style.color = 'red';
					let data = JSON.parse(xhr.responseText);	//将PHP传回来的json字符串转换成js对象
					if(data.status == 1){
						p.innerHTML = data.msg;
					}else{
						p.innerHTML = data.msg;
					}
					//p.innerHTML = xhr.responseText;
					document.forms[0].appendChild(p);
					
					setTimeout(function() {
						document.forms[0].removeChild(p);
						btn.disabled = false;
						
						if(data.status == 1){
							location.href="admin.php";
						}
					},2000);
					btn.setAttribute('disabled',false);
				}else{
					alert('响应失败'+xhr.status);
				}
			}else{
				//'HTTP正在发送请求'	可放一张加载图片
				//alert(xhr.readyState);
			}
		};
		
		//3.请求参数设置
		xhr.open('post','inc/check.php',true);
		
		//4.post方式传输时要设置头信息
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		//5.发送请求
		let data = {
			email:document.getElementsByName('email')[0].value,
			password:document.getElementsByName('password')[0].value,
		};
		
		let json_data = JSON.stringify(data);	//将js对象转换为json格式的字符串
		
		xhr.send('data=' + json_data);
		
		//禁用按钮
		btn.setAttribute('disabled',false);
	}
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:代码记得加上高亮啊!
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学