Ajax学习第一节_Ajax入门
来源:互联网 发布:月相模拟软件 编辑:程序博客网 时间:2024/06/06 03:01
什么是Ajax?
Ajax是asynchronous JavaScript and XML的缩写,是一种创建交互式网页应用的网页开发技术。
在哪里使用Ajax?
不需要刷新整个页面,适合使用Ajax,例如:用户注册的时候验证用户名是否重复,无刷新登录,在线聊天室等。
如何使用Ajax?
Ajax中Get方式异步发送请求源码下载: http://pan.baidu.com/s/1qY9rGIw
运行效果:
创建Ajax引擎
//创建Ajax引擎
function createXmlHttpRequest() {
if (window.ActiveXObject) {
//ie6中创建xmlHttpRequest方法
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
//firfox、chrome、IE7
xmlHttpRequest = new XMLHttpRequest();
}
}
提交Ajax请求
function checkUserName() {
//创建Ajax引擎
createXmlHttpRequest();
if (xmlHttpRequest) {
var userName = document.getElementById("userName").value;
//请求URL,encodeURI两次防止中文乱码
var url = "Regedit?userName=" + encodeURI(encodeURI(userName));
//get表示请求方式:get/post url请求的地址,true表示异步,false表示同步
xmlHttpRequest.open("get", url, true);
//回调函数
xmlHttpRequest.onreadystatechange = chuli;
//发送请求
xmlHttpRequest.send(null);
}
}
servlet后台处理
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置返回的编码
response.setContentType("text/html;charset=utf-8");
// URLDecoder解码
String userName = URLDecoder.decode(request.getParameter("userName"), "UTF-8");
//使用PrintWriter打印到界面上
PrintWriter out = response.getWriter();
if (userName.equals("xukaiqiang")) {
out.println(userName + "已经存在!");
} else {
out.println(userName + "用户名可以使用!");
}
//关闭流
out.close();
}
回调函数处理
//回调函数
function chuli() {
if (xmlHttpRequest.readyState == 4) {
document.getElementById("msg").innerHTML = xmlHttpRequest.responseText;
}
}
readyState 属性
readyState 属性存有服务器响应的状态信息。当 readyState 改变时,onreadystatechange 函数就会被执行。
这是 readyState 属性可能的值:
状态 描述
0 请求未初始化(在调用 open() 之前)
1 请求已提出(调用 send() 之前)
2 请求已发送(这里通常可以从响应得到内容头部)
3 请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)
4 请求已完成(可以访问服务器响应并使用它)
原理
由事件(onblur,onchange等)触发,创建一个xmlHttpRequest对象(XHR),然后通过servlet/action或者其他方式,从数据库中获取数据,交给xmlHttpRequest对象处理,交给回调函数进行处理显示。
0 0
- Ajax学习第一节_Ajax入门
- AJAX学习笔记(五)_AJAX响应
- [知了堂学习笔记]_Ajax入门
- [知了堂学习笔记]_Ajax入门
- JSON入门学习第一节
- AJAX技术入门 第一节 走进AJAX
- Prototype入门_ajax
- ajax实现无刷新树_ajax教程
- ExtJs学习笔记(5)_Ajax示例
- ExtJs学习笔记(5)_Ajax示例
- java学习笔记_ajax框架ProtoType
- 【知了堂学习笔记】_Ajax基础知识
- 《jQuery从入门到精通》第一节 为什么要学习jQuery
- Hibernate学习---第一节:hibernate配置和入门程序
- (AJAX学习一) AJAX入门
- 用AJAX+J2EE完成网上会议系统_AJAX教程
- 使用AJAXRequest进行AJAX应用程序开发_ajax代码
- 积累笔记--jQuery Ajax 实例 ($_ajax、$_post、$_get)
- C#中的Math.Round使用的"四舍五入"法
- wxWidgets-3.0.2 Compile and Install (cc)
- 如何将vector 和 string 传递给 类C的API
- Centos服务器下网站做301重定向
- BPM制造业解决方案
- Ajax学习第一节_Ajax入门
- 令人头疼的java Tree整合bootstrap ace tree
- ioc和aop
- SpringMVC表单标签简介
- Machine Learning主要数据集
- 【泛型】泛型方法
- poi之Excel文件上传到数据库和导出(结合ssh)
- Ajax学习第二节_发送post请求
- Activity生命周期监测接口-Application的ActivityLifecycleCallbacks接口