ajax请求php的过程,深入理解ajax异步请求的五个步骤(详细代码)

在前端工作中,经常会用到ajax,其实很多人只知道ajax是异步请求,不知道应该如何用它,它的基本步骤有哪些,ajax请求过程是怎样的?接下来这篇文章就给大家介绍Ajax的请求步骤,以及ajax请求步骤的详细代码。感兴趣的朋友可以看看。

AJAX(Asynchronous JavaScript and XML):是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这就意味着可以在不重新加载整个网页的情况下,对网页的局部进行更新。

1.建立xmlHttpRequest对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpRequest 对象,而IE5 和 IE6 使用 的是ActiveXObject。if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

if(xmlHttp.overrideMimeType){

xmlHttp.overrideMimeType("text/xml");

}

}else if(window.ActiveXobject){

var activeName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];

for(var i=0; i

try{

xmlHttp = new ActiveXobject(activeName[i]);

break;

}catch(e){

}

}

}

if(!xmlHttp){

alert("创建xmlhttprequest对象失败");

}else{

}

2.设置回调函数xmlHttp.onreadystatechange= callback;

function callback(){}

3.使用OPEN方法与服务器建立连接 xmlHttp.open("get","ajax?name="+ name,true)

此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

4.向服务器端发送数据xmlHttp.send(null);

如果是POST方式就不为空

5.在回调函数中针对不同的响应状态进行处理if(xmlHttp.readyState == 4){

//判断交互是否成功

if(xmlHttp.status == 200){

//获取服务器返回的数据

//获取纯文本数据

var responseText =xmlHttp.responseText;

document.getElementById("info").innerHTML = responseText;

}

}

readyState属性:表示请求/响应过程的当前阶段

0:未初始化。尚未调用 open()方法。

1:启动。已经调用 open()方法,但尚未调用 send()方法。

2:发送。已经调用 send()方法,但尚未接收到响应。

3:接收。已经接收到部分响应数据。

4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。

只有在XMLHttpRequest对象完成了以上5个步骤之后,才可以获取从服务器端返回的数据。

status属性:响应的 HTTP 状态码

200:响应成功

301:永久重定向/永久转移

302:临时重定向/临时转移

304:本次获取内容是读取缓存中的数据

400:请求参数错误

401:无权限访问

404:访问的资源不存在

总结:以上介绍了Ajax请求的五个步骤以及详细代码 ,没有接触过得朋友可能看起来比较困难,没关系,看了以后,多去动手敲敲,慢慢就懂了,希望可以帮助到你!

你可能感兴趣的:(ajax请求php的过程)