不如封装一个原生Ajax

封装原生Ajax

我们常常引用jq就是为了使用上面的ajax,方便又实用。但是jq文件一个高达几十kb,还有近几年jq的发展趋势不容乐观,jq中还迟迟没有改进。于是自己造轮子,下面封装了原生JS ajax 。你可以直接复制拿过来用。

function ajax(obj) {
// 对实参处理
obj = obj || {};
// 定义局部变量
var xmlhttp, type, url, async, dataType, data;
// 默认type为GET
type = obj.type || ‘GET’;
type = trim(type).toUpperCase();
// 接口
url = obj.url
url = trim(url);
// 默认为异步请求
async = obj.async || true;
// 设置跨域
dataType = obj.dataType || ‘HTML’;
dataType = trim(dataType).toUpperCase();
// 发送参数
data = obj.data || {};
// 删除左右空格
function trim(str) {
return str.replace(/^\s+|\s+$/g, “”);
};
// 定义格式化参数函数
var formatParams = function () {
if (typeof (data) == “object”) {
var str = “”;
for (var pro in data) {
str += pro + “=” + data[pro] + “&”;
}
data = str.substr(0, str.length - 1);
}
if (type == ‘GET’ || dataType == ‘JSONP’) {
if (url.lastIndexOf(’?’) == -1) {
url += ‘?’ + data;
} else {
url += ‘&’ + data;
}
}
}
// 第一步,创建xmlhttprequest对象用来和服务器交换数据。
if (window.XMLHttpRequest) {
//Chrome || Firefox
xmlhttp = new XMLHttpRequest();
} else {
//IE
xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
}

更多请见:http://www.mark-to-win.com/tutorial/50950.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值