AJAX:判断用户是否存在及用户名密码是否正确问题

概念:

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

AJAX 是一种用于创建快速动态网页的技术。

优点:

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

应用:

  • 运用XHTML+CSS来表达资讯;

  • 运用JavaScript操作DOM(Document Object Model)来执行动态效果;

  • 运用XML和XSLT操作资料;

  • 运用XMLHttpRequest或新的Fetch API与网页服务器进行异步资料交换;

  • 注:AJAX与Flash、Silverlight和Java Applet等RIA技术是有区分的。

  • AJAX

AJAX是基于现有的Internet标准,并且联合使用它们:

  • XMLHttpRequest 对象 (异步的与服务器交换数据)
  • JavaScript/DOM (信息显示/交互)
  • CSS (给数据定义样式)
  • XML (作为转换数据的格式)

lamp  AJAX应用程序与浏览器和平台无关的!


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>ajax学习</title>
		<script type="text/javascript">
			/*第一步 实例化 XMLHttpRequest对象*/
			var xmlhttp;
			if(window.XMLHttpRequest){
			//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
				xmlhttp = new XMLHttpRequest();
			}else{
			// IE6, IE5 浏览器执行代码
				xmlhttp =  new ActiveXObject("Microsoft.XMLHTTP");
			}
			/*第二步 调用open方法设置参数,调用send发送请求 true表示异步  false表示同步*/
			xmlhttp.open("GET","./login.jsp?username='张三'&password='123456'",true);
			xmlhttp.send();
			/*第三步 监听服务端响应*/
			xmlhttp.onreadystatechange=function(){
				if(xmlhttp.readyState==4 & xmlhttp.readyStatus==200){
					var text = xmlhttp.responseText; //用户已存在
					document.getElementById("msg").innerHTML=text;
				}
			}
		</script>
	</head>
	
	<body>
		<input type="text" name="username"/>
		<p id="img"></p>
	</body>
</html>

现实生活中检查用户是否存在:

<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>ajax学习</title>
		<script src="jquery-3.1.1.min.js"></script>
		<script type="text/javascript">
			function checkUserByAjax(){
				var user = $("#user").val();//获取表单元素值
				if(user==""){
					$("#checkmsg").html("用户名不能为空");
					return;
				}
				/*第一步 实例化 XMLHttpRequest对象*/
				var xmlhttp;
				if(window.XMLHttpRequest){
				//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
					xmlhttp = new XMLHttpRequest();
				}else{
				// IE6, IE5 浏览器执行代码
					xmlhttp =  new ActiveXObject("Microsoft.XMLHTTP");
				}
				/*第二步 调用open方法设置参数,调用send发送请求 true表示异步  false表示同步*/
				xmlhttp.open("GET","http://192.168.5.3/ajax/checkuser.servlet?userName="+eval(document.getElementById('user')).value,true);
				xmlhttp.send();
				/*第三步 监听服务端响应*/
				xmlhttp.onreadystatechange=function(){
					if(xmlhttp.readyState==4 & xmlhttp.readyStatus==200){
						var text = xmlhttp.responseText; //用户已存在
						document.getElementById("checkmsg").innerHTML=text;
					}
				}
			}	
		</script>
	</head>
	
	<body>
	
		用户名:<input id="user" type="text" name="userName"/>
		<span id="checkmsg"></span><br><br>
		<button οnclick="checkUserByAjax()">检查用户</button><br><br>
	</body>
</html>

当输入用户名和密码时判断是否为空:(是否正确是服务端操作判断)

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta charset="utf-8"/>
		<title>表单学习</title>
		<style>
			div{background-image:url('E:/java1606/November/WEB/css/day18/html和css测试/image/7.jpg');
				background-repeat:no-repeat;
				width:400px;
				height:400px;
				margin:20% auto;
				text-align:center;
				}
				div form{padding:80px;}
				#msg{color:blue;}
		</style>
		<script src="jquery-3.1.1.min.js"></script>
		<script type="text/javascript">
			function check(){
				var user = $("#user").val();
				var psw = $("#psw").val();
				if(user == ""){
					$("#msg").html("用户名不能为空");
					return false;
				}else if(psw == ""){
					$("#msg").html("用户名密码不能为空");
					return false;
				}else{
					return true;
				}
			}
			
		</script>
	</head>
	
	<body>
		<div>
			<form name="form1" action="http://192.168.5.3/ajax/login.servlet" method="get" οnsubmit="return check()">
			用户名:<input id="user" type="text" name="userName" placeholder="请输入用户名"/><br><br>
			密 码: <input id="psw" type="password" name="passWord" placeholder="请输入用户名密码"/><br><br>
			<input type="submit" value="提交"/>
			<span id="msg"></span>
			</form>
		</div>
	</body>
</html>



  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值