AJAX(Web数据交互方式)

  • A+
所属分类:Web前端
摘要

AJAX 全称:Asynchronous Javascript And XML(异步的 JavaScript 与 XML)网页的局部刷新技术,网页不需要刷新整个页面来更新部分网页数据


AJAX

一. 什么是 AJAX?

AJAX 全称:Asynchronous Javascript And XML(异步的 JavaScript 与 XML)

网页的局部刷新技术,网页不需要刷新整个页面来更新部分网页数据

二. 原始的 JS 创建 AJAX 步骤(☆)

  1. 创建 AJAX 的核心对象,XMLHttpRequest 根据不同的浏览器来创建相对应的Ajax对象

    var req; if(window.XMLHttpRequest){ 	// 非IE 	req = new XMLHttpRequest(); }else { 	// IE 	req = new ActiveXObject("Microsoft.XMLHTTP"); } 
  2. 与服务器进行连接

    // 第一个参数:提交方式 get 或 post // 第二个参数:访问后台的 URL // 第三个参数:是否异步,true 表示异步,false 表示同步 req.open("post", url, true); 
  3. 发送请求

    req.send();  // get方式:index?id=1 req.send(null);  // post方式: 设置编码方式 req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var data = "id=" + 1; req.send(data);	 
  4. 指定回调函数,接收后台返回值(绑定回调函数 / 状态监听函数)

    req.onreadystatechange = function() { 	// AJAX 状态是否等于4,状态为4表示完成了整个请求 	if(req.readyState == 4) { 		// HTTP 状态等于200 		if(req.status == 200) { 			// 处理返回值 			var info = req.responseText; 		} 	} } 

三. readyState 属性值(AJAX 的状态)

状态值 描述
0 表示“未初始化状态”,已经创建好 XMLHttpRequest 对象,但没有初始化
1 表示"载入状态",XMLHttpRequest 调用了 open 函数,但没有发送请求
2 表示"发送状态",XMLHttpRequest 调用了 send 函数,发送请求
3 表示"接收状态",Servlet 已经接收到 HTTP 请求,但没有执行完毕
4 表示"已加载状态",完全被接收,并且处理完成,前端 AJAX 可以接收返回值