封装通用的Ajax

~function () {
	function ajax(options) {
		var _default = {
			url: "",//地址
			type: "get",//方式
			async: true,//同步还是异步
			data: null,//放在请求主体的内容
			dataType: "json",//请求回来的数据格式
			getHead: null,//当readyState===2时需要做的
			success: null,//当readyState===4时需要做的
		}
		for (var key in optionps) {
			if (options.hasOwnProperty(key)) {
				_default[key] = options[key];
			}
		}
		//如果是get的话需要在url末尾添加随机数清楚缓存
		if (_default.type === "get") {
			_default.url += _default.url.indexOf("?") > -1 ? "&" : "?";
			_default.url += Math.random();
		}
		var xhr = new XMLHttpRequest;
		xhr.open(_default.type, _default.url, _default.async);
		xhr.onreadystatechange = function () {
			if (/^2\d{2}$/.test(xhr.status)) {
				if (xhr.readyState === 2) {
					if (typeof _default.getHead == "function") {
						_default.getHead.call(xhr);
					}
				}
				if (xhr.readyState === 4) {
					var res = xhr.responseText;
					if (_default.dataType === "json") {
						res = "JSON" in window ? JSON.parse(res) : eval("(" + val + ")");
					}
					if (typeof _default.success == "function") {
						_default.success.call(xhr, res)
					}
				}
			}
		}
		xhr.send(_default.data);
	}
	window.ajax = ajax;
}()

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值