怎么封装 类似 jquery ajax的函数

zgzglike 2011-10-18 11:22:52

/*
$.ajax({
url : 'test.asp',
method : 'get',
data : {name:123},
onSuccess : function(data){
//
},
onLoad : function(){
//
},
onError : function(){
//
}
})
*/
var $ = function(){}
$.ajax = function(obj){
var url = obj.url;
var method = obj.method || 'get';
var async = obj.async || true;

var xmlHttp;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
//alert("您的浏览器不支持AJAX!");
return false;
}
}
}

xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status==200){
// success
}else{
// error
}
}else{
//loading
}
}
xmlHttp.open(method, url, async);
xmlHttp.send(null);
}



哪位高手帮忙 完善一下。。。

success load error 自定义函数 怎么写?

感谢
...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangws 2011-10-18
  • 打赏
  • 举报
回复
回调函数直接放进去不就行了?


$.ajax({
url : 'test.asp',
method : 'get',
data : {name:123},
onSuccess : function(data){
//
},
onLoad : function(){
//
},
onError : function(){
//
}
})

var $ = function(){}
$.ajax = function(obj){
var url = obj.url;
var method = obj.method || 'get';
var async = obj.async || true;

var xmlHttp;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
//alert("您的浏览器不支持AJAX!");
return false;
}
}
}

xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status==200){
obj.onSuccess(xmlHttp.responseText)
}else{
obj.onError();
}
}else{
obj.onLoad();
}
}
xmlHttp.open(method, url, async);
xmlHttp.send(null);
}
zgzglike 2011-10-18
  • 打赏
  • 举报
回复
。。up

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧