ajax 的过程
来源:互联网 发布:xlsx 导入 java 编辑:程序博客网 时间:2024/05/28 23:22
我们在开发网站的过程中会用经常用到异步请求,也就是所谓的ajax请求,一般前端发送一个ajax请求需要经历以下过程:
(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象
不同的浏览器使用的异步调用对象也有所不同
在IE浏览器中创建XMLHttpRequest对象的方式如下所示:
var xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
在Netscape浏览器中创建XMLHttpRequest对象的方式如下所示:
var xmlHttpRequest = new XMLHttpRequest();
所以在开发的时候最好将两种方式都加上,通过window对象进行判断。
如下:
function createXMLHttpRequest() //创建XMLHttpRequest对象的方法{ if(window.ActiveXObject) //判断是否是IE浏览器 { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); //创建IE浏览器中的XMLHttpRequest对象 } else if(window.XMLHttpRequest) //判断是否是Netscape等其他支持XMLHttpRequest组件的浏览器 { xmlHttpRequest = new XMLHttpRequest(); //创建其他浏览器上的XMLHttpRequest对象 }}(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息
创建HTTP请求可以使用XMLHttpRequest对象的open()方法
XMLHttpRequest.open(method,URL,flag,name,password)
xmlHttpRequest .open("GET","ajax_info.txt",true);xmlHttpRequest .send();
method:该参数用于指定HTTP的请求方法,一共有get、post、head、put、delete五种方法,常用的方法为get和post。
URL:该参数用于指定HTTP请求的URL地址,可以是绝对URL,也可以是相对URL。
flag:该参数为可选参数,参数值为布尔型。该参数用于指定是否使用异步方式。true表示异步方式、false表示同步方式,默认为true。
name:该参数为可选参数,用于输入用户名。如果服务器需要验证,则必须使用该参数。
password:该参数为可选参数,用于输入密码。如果服务器需要验证,则必须使用该参数。
(3)设置响应HTTP请求状态变化的函数
发送一个XMLHttpRequest后,ajax readyState会经历以下几种状态:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
xmlHttpRequest.onreadystatechange = getData;function getData(){ //判断XMLHttpRequest对象的readyState属性值是否为4,如果为4表示异步调用完成 if(xmlHttpRequest.readyState == 4) { //设置获取数据的语句 if(xmlHttpRequest.status == 200 || xmlHttpRequest.status == 0) { document.write(xmlHttpRequest.responseText); //docunment.write(xmlHttpRequest.responseXML); } }}
(4)发送HTTP请求.
调用send方法发送http请求:
XMLHttpRequest.send(data);
(5)获取异步调用返回的数据
(6)使用JavaScript和DOM实现局部刷新
根据获取到的数据对页面做局部更新:
if(xmlHttpRequest.status == 200 || xmlHttpRequest.status == 0){ document.write(xmlHttpRequest.responseText); //docunment.write(xmlHttpRequest.responseXML);}
$.ajax({ type : "POST", //提交方式 url : "",//路径 data : { "id" : "1" },//数据,这里使用的是Json格式进行传输 success : function(result) {//返回数据根据结果进行相应的处理 console.log("success"); }, error:function(){ console.log("error"); }});jQuery的ajax是在原生ajax的基础上进行了封装,使用户使用起来更加快捷方便。
- AJAX的运作过程
- ajax的过程
- 使用ajax的过程
- ajax的实现过程
- ajax 的过程
- AJAX的整个页面过程
- ajax的基本使用过程
- javascript的ajax请求过程
- JQuery的ajax请求过程
- ajax过程
- ajax过程
- Ajax过程
- ajax过程
- Ajax基本概念以及JS实现Ajax的过程
- AJAX的整个页面过程(续)
- php里面使用ajax的基本过程
- 关于ajax中文乱码的解决过程
- ssm + ajax过程中遇到的问题
- 组合动画
- alpha测试和beta测试的区别
- tf官网进不去解决方案
- 2017 09 03 小结
- 17.9.3日报
- ajax 的过程
- ArrayList遍历时不能写
- HDU
- 使用Lucene词频统计与d3.cloud展示的中文英文词云系统
- 数据库(3)---基本操作
- Kotlin 实践项目(密码本)
- Spring和它的AOP
- 首发博客,记录心情
- qml如何进行动态翻译