简单的封装一下ajax,请大家指教。

bbjbepzz 2012-05-29 07:26:02
代码如下:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
(function () {
var Ajax = {
_ajax : null,
get : function (url, data, fn) {
this.ajax({
url : url,
data : data,
fn : fn,
type : 'GET'
});
},
post : function (url, data, fn) {
this.ajax({
url : url,
data : data,
fn : fn,
type : 'POST'
});
},
ajax : function (obj) {
typeof obj.data == 'function' && (obj.fn = obj.data, obj.data = {});
if (window.XMLHttpRequest) {
this._ajax = new XMLHttpRequest();
} else {
this._ajax = new ActiveXObject('Microsoft.XMLHTTP');
}
var para = '';
for (var i in obj.data) {
para += i + '=' + obj.data[i] + '&';
}
para = para.substr(0, para.length - 1);
this._ajax.open(obj.type || 'GET', obj.type == 'GET' ?
obj.url.indexOf('?') != -1 ?
(obj.url + '&' + para) :
(obj.url + '?' + para) :
obj.url, true);
obj.type == 'POST' && this._ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
this._ajax.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
obj.fn(this.responseText);
}
};
this._ajax.send(obj.type == 'POST' ? para : null);
},
abort : function () {
this._ajax.abort();
}
};
window.Ajax = Ajax;
})();

...全文
330 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
system_03 2012-10-09
  • 打赏
  • 举报
回复
我以前封装了一个ajax函数,后来还是用jquery了。如果请求的页面比较复杂,比如有css引用,有script引用等等。用jquery的优势还是很明显的。

http://jhlicc.github.com/20110625.html
inthello 2012-06-01
  • 打赏
  • 举报
回复
不明白
josephSC 2012-05-31
  • 打赏
  • 举报
回复
写的很好~
josephSC 2012-05-31
  • 打赏
  • 举报
回复
不错,自己动手。
licip 2012-05-31
  • 打赏
  • 举报
回复
挺好的。不错哦。
Zhang987536341 2012-05-30
  • 打赏
  • 举报
回复
写得还行
挨踢直男 2012-05-30
  • 打赏
  • 举报
回复
001007009 2012-05-30
  • 打赏
  • 举报
回复
不错

贴个自己封装的

;(function(w){
var ajax = function(u, o){
o = o || {};
var f = new Function,
t = o.type || 'html',
m = o.method || 'GET',
a = o.async !== false,
d = o.data || null,
s = o.success || f,
b = o.beforeSend || f,
e = o.error || f,
m = m.toUpperCase();
if( m == 'GET' && d ){
u += (u.indexOf('?') > 0 ? '&' : '?')+ d;
d = null;
}
var x = w.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
x.onreadystatechange = function(){
if( x.readyState == 4 ){
if( x.status >= 200 && x.status < 300 ){
if( t == 'xml' ){
s(x.responseXML);
}else{
s(x.responseText);
}
}else{
e();
}
}else{
b();
}
}
x.open(m, u, a);
if( m == 'POST' ){
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
}
x.send(d);
};
w.Cme ? '' : w.Cme = {};
w.Cme.ajax = ajax;
})(window);



调用 同 jquery类似


Cme.ajax('ajax.asp?r='+Math.random(), {
data: 'name=' + escape('测试'),
success: function(d){
$('a').value = d;
},
beforeSend: function(){
$('a').value = 'loading...'
},
error: function(){
$('a').value = 'error...'
}
});


meditatorzhang 2012-05-30
  • 打赏
  • 举报
回复
大家都用jquery,这个有意义吗?

52,797

社区成员

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

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