ajax原生详解,原生Ajax详解

Ajax主要就是使用 【XmlHttpRequest】对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE),Ajax首次出现IE5.5中存在(ActiveX控件)。

1.  XmlHttpRequest对象介绍

XmlHttpRequest对象的主要方法:

a. void open(String method,String url,Boolen async)

用于创建请求

参数:

method: 请求方式(字符串类型),如:POST、GET、DELETE...

url:    要请求的地址(字符串类型)

async:  是否异步(布尔类型)

b. void send(String body)

用于发送请求

参数:

body: 要发送的数据(字符串类型)

c. void setRequestHeader(String header,String value)

用于设置请求头

参数:

header: 请求头的key(字符串类型)

vlaue:  请求头的value(字符串类型)

d. String getAllResponseHeaders()

获取所有响应头

返回值:

响应头数据(字符串类型)

e. String getResponseHeader(String header)

获取响应头中指定header的值

参数:

header: 响应头的key(字符串类型)

返回值:

响应头中指定的header对应的值

f. void abort()

终止请求

XmlHttpRequest对象的主要属性:

a. Number readyState

状态值(整数)

详细:

0-未初始化,尚未调用open()方法;

1-启动,调用了open()方法,未调用send()方法;

2-发送,已经调用了send()方法,未接收到响应;

3-接收,已经接收到部分响应数据;

4-完成,已经接收到全部响应数据;

b. Function onreadystatechange

当readyState的值改变时自动触发执行其对应的函数(回调函数)

c. String responseText

服务器返回的数据(字符串类型)

d. XmlDocument responseXML

服务器返回的数据(Xml对象)

e. Number states

状态码(整数),如:200、404...

f. String statesText

状态文本(字符串),如:OK、NotFound...

2、跨浏览器支持

XmlHttpRequest

IE7+,Firefox,Chrome,Opera,etc.

ActiveXObject("Microsoft.XMLHTTP")

IE6,IE5

代码示例:

html>

XMLHttpRequest - Ajax请求

function GetXHR(){

var xhr = null;

if(XMLHttpRequest){

xhr = new XMLHttpRequest();

}else{

xhr = new ActiveXObject("Microsoft.XMLHTTP");

}

return xhr;

}

function XhrPostRequest(){

var xhr = GetXHR();

// 定义回调函数

xhr.onreadystatechange = function(){

if(xhr.readyState == 4){

// 已经接收到全部响应数据,执行以下操作

var data = xhr.responseText;

console.log(data);

}

};

// 指定连接方式和地址----文件方式

xhr.open('POST', "/test/", true);

// 设置请求头

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset-UTF-8');

// 发送请求

xhr.send('n1=1;n2=2;');

}

function XhrGetRequest(){

var xhr = GetXHR();

// 定义回调函数

xhr.onreadystatechange = function(){

if(xhr.readyState == 4){

// 已经接收到全部响应数据,执行以下操作

var data = xhr.responseText;

console.log(data);

}

};

// 指定连接方式和地址----文件方式

xhr.open('get', true);

// 发送请求

xhr.send();

}

总结

以上是编程之家为你收集整理的原生Ajax详解全部内容,希望文章能够帮你解决原生Ajax详解所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值