Ajax异步交互
来源:互联网 发布:神前晓 知乎 编辑:程序博客网 时间:2024/06/06 19:42
先看效果图
异步(Asynchronous)的概念和同步(Synchronous)相对。当一个异步过程调用发出后,调用者不需要立刻得到结果,可以继续做自己的事情,等到过程调用完毕,再通过回调函数通知调用方。而同步情况下,调用方必须等待对方得到结果,才能继续运行
具体解释参考http://www.w3school.com.cn/ajax/
前台代码
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk">
<title>welcome ,注册本系统</title>
<link rel="stylesheet" type="text/css" href="style/style.css">
<script type="text/javascript">
var xhr=null;
function checkUname(){
var username=document.myform.uname.value;
//alert(username);
if(username==""||username==null){
document.getElementById("msgDiv").innerHTML="<font color='red'>请输入用户名</font>";
}
//ajax的核心对象
//var xhr=new XMLHttpRequest();//只对非ie浏览器生效
if(window.ActiveXObject){
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xhr=new XMLHttpRequest();
}
var url="http://localhost:8080/12softsms0415/RegServlet?uname="+username;
//当核心对象的状态发生改变,它的处理函数
xhr.onreadystatechange=haolejiaowo;
xhr.open("get",url,true);
xhr.send(null);
}
//才是核心处理函数
function haolejiaowo(){
if(xhr.readyState==4&&xhr.status==200){
var result=xhr.responseText;//得到远程服务器返回的结果
if(result.indexOf("true")!=-1){
alert(result);
document.getElementById("msgDiv").innerHTML="<font color='red'>用户名已存在</font>";;
}else{
document.getElementById("msgDiv").innerHTML="可以注册";
}
}
}
</script>
</head>
<body>
<div align="center">
<%-- 登录 --%>
<div class="login" align="center">
<br/>
<h2>短信系统注册</h2>
<form action="UserServlet" method="post" name="myform">
<input type="hidden" name="cmd" value="reg">
用户名<input type="text" name="uname" class="input" onblur="checkUname()"/>
<div id="msgDiv" style="display:inline">提示信息</div>
<br/>
密 码<input type="password" name="upass" class="input"/><br/>
重复密码<input type="password" name="upassrep" class="input"/><br/>
<input type="submit" value=" 注册 " class="btn"/>
</form>
</div>
</div>
</body>
</html>
Servlet核心代码
public boolean isExist(String username){
//模拟后台数据库有三个用户
String[] names={"jack","rose","marry","12210810235"};
for (String s : names) {
if(username.equalsIgnoreCase(s)){
return true;
}
}
return false;
}
doGet()方法
初次尝试Ajax,感觉Js语法不够严谨,报错很难找到和修改,要经过反复测试,不过提供了异步交互是一种很好的思路。
- jquery ajax异步交互
- AJAX异步交互
- 使用ajax异步交互
- AJAX异步交互通信
- ajax实现异步交互
- Ajax异步交互
- ajax异步交互
- Ajax异步交互
- Ajax实现异步交互
- ajax异步交互
- 浅析Ajax异步交互
- AJAX异步交互
- ajax异步交互
- Ajax 异步处理 servlet 交互
- jquery+ajax+ashx Ajax异步数据交互
- ajax+json 做数据异步交互
- 采用AJAX实现网站异步交互过程
- Ajax实现异步交互完成注册页面
- 各种技术实现图片拖拽效果
- 21、Cocos2dx 3.0游戏开发找小三之Cocos2d-x中的动画与场景特效
- ToString() 参数详解
- 你我,一直都在
- EJB详细解读
- Ajax异步交互
- 截取图片的部分
- PDO使用手册
- 人生的角色
- ORA-15005: name "orcl" is already used by an existing alias
- 世界杯背后的科技:这些年有啥“新面孔
- fio使用指南(最全的参数说明)
- mysql 中文乱码问题
- Hold住,WP8.1版Cortana升级仅冰山一角