600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 浅谈AJAX基本实现流程

浅谈AJAX基本实现流程

时间:2023-06-20 16:53:14

相关推荐

浅谈AJAX基本实现流程

1、js中ajax实现流程:

(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.

(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.

(3) 设置响应HTTP请求状态变化的函数.

(4) 发送HTTP请求。

(5) 获取异步调用返回的数据.

(6) 使用JavaScript和DOM实现局部刷新.

2、创建XMLHttpRequest

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

创建XMLHttpRequest对象:

var xmlhttp;

if (window.XMLHttpRequest)

{//兼容IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest(); }

else

{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // 兼容 IE6, IE5}

3、向服务器发送请求:

将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法

open(method,url,async);

send(string);

例如:

xmlhttp.open("GET","test1.txt",true);

xmlhttp.send();

method:请求的类型;GET 或 POST

url:文件在服务器上的位置

async:true(异步)或 false(同步)

post和 get:

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求:

a)无法使用缓存文件(更新服务器上的文件或数据库)

b)向服务器发送大量数据(POST 没有数据量限制)

c)发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

4、设置响应HTTP请求状态变化的函数

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:setRequestHeader(header,value)

当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

}

}

5、服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

来自服务器的响应并非XML时用responseText :

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

来自服务器的响应是XML是用responseXML :

xmlDoc=xmlhttp.responseXML;

txt="";

x=xmlDoc.getElementsByTagName("ARTIST");

for (i=0;i<x.length;i++)

{

txt=txt + x[i].childNodes[0].nodeValue + "<br />";

}

document.getElementById("myDiv").innerHTML=txt;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。