js技术:该函数返回ajax需要的关键对象:xmlhttprequest
来源:互联网 发布:问卷调查数据分析报告 编辑:程序博客网 时间:2024/05/20 06:22
//该函数返回ajax需要的关键对象:xmlhttprequest
function getTransport(){
var versions=[
function(){
return new XMLHttpRequest();
},
function(){
return new ActiveXObject('Microsoft.XMLHTTP');
}
];
var request;
for(var i=0;i<versions.length;i++){
var lambda=versions[i];
try{
request=lambda();
}
catch(e){}
}
return request;
}
function ajaxRequest(url,options){
var request=getTransport();//创建ajax的关键对象xmlhttprequest
if(typeof(request)=='undefined'){//判断创建是否成功
throw new Error('你的浏览器不支持xmlhttprequest');
return ;
}
var url=url;//获取请求地址
//获取请求方式,如果为获取到,返回默认值POST
var method=(options.method||'POST').toUpperCase();
if(method!='GET'&&method!='POST'){
method='POST';
}
//获取参数
var parameters=options.parameters||null;
//获取请求头信息
var headers=options.headers||{};
//创建处理事件函数
//加载,完成,成功,失败
var onLoadingEventHandler=options.onLoading||function(){};
var onCompleteEventHandler=options.onComplete||function(){};
var onSuccessEventHandler=options.onSuccess||function(){};
var onFailureEventHandler=options.onFailure||function(){};
//根据url和参数,把地址拼接完整,并且清空parameters对象
if(method=='GET'&¶meters!=null){
if(url.indexOf('?')>-1){
url+='&'+parameters;
}
else{
url+='?'+parameters;
}
parameters=null;
}
//初始化请求
request.open(method,url,true);
//设置请求头
request.setRequestHeader('contentType','application/x-www-form-rulencoded');
for(var name in headers){
request.setRequestHeader(name ,headers[name]);
}
//设置请求状态
request.onreadystatechange=function(){
if(request.readyState==1){
onLoadingEventHandler(request.readyState);//状态值为1,说明正在加载
}
if(request.readyState==4){
onCompleteEventHandler();//状态值为4,说明加载完成
if(request.status&&request.status>=200&&request.status<300){
onSuccessEventHandler(request);//返回值在200到300之间,说明加载成功
}
else{
onFailureEventHandler();//否则加载失败
}
}
}
request.send(parameters);//发送请求
}
- js技术:该函数返回ajax需要的关键对象:xmlhttprequest
- Ajax技术及 XMLHttpRequest 对象
- Ajax技术---核心XMLHttpRequest对象
- 《XMLHttpRequest对象-AJAX技术核心》
- ajax的XMLHttpRequest对象
- Ajax的XMLHttpRequest对象
- ajax的xmlHttpRequest对象
- Ajax的XMLHttpRequest对象
- ajax的XMLHttpRequest()对象
- 利用 Microsoft.XMLHTTP/XMLHttpRequest 对象 实现Ajax技术 的总结
- Ajax XMLHttpRequest对象 取得返回值
- 关于JS中ajax的XMLHttpRequest对象的使用
- Ajax原理-原生js的XMLHttpRequest对象意义
- Ajax原理-原生js的XMLHttpRequest对象意义
- Ajax技术1——XMLHttpRequest对象
- Ajax技术之XMLHttpRequest对象详解
- AJAX的核心XMLHttpRequest对象
- Ajax的核心对象XMLHttpRequest
- XWork对输入校验的支持,类型转换与输入校验总结--中国人民银行企培视频 第二十一讲
- DirectShow-Filter原理
- JS日期操作
- js技术图片加载并按比例缩小到合适大小
- 本人常用SQL
- js技术:该函数返回ajax需要的关键对象:xmlhttprequest
- 创建一个filter实例
- Mysql数据库做多台replication
- 80个电脑常识全是你平时上网用的着的!
- 早晨琐事
- 设计模式之观察者模式 【转】
- google protocol buffers介绍(c++)
- 转WaveOutSetVolume
- 她拒绝了他100次,但第101次他拒绝了她!