ajax的js插件封装

最近回顾一下ajax,ajax使用并不难,下面对ajax简单封装,方便以后使用:

window.onload = function() {
	new Ajax({
		method: 'GET',//传输方式
		url: 'data_handle.PHP',//数据文件
		data: 'name=dalin&age=23',//发送数据,可选
		succee: function(data) {//返回数据为字符串,需要转换为json格式
			alert(data);
		},fail: function(error) {
			alert('无法获取数据' + error);
		}
	});
};

(function() {
	function Ajax(o) {
		this.config = o;
		var that = this;
		this.XHR = new XMLHttpRequest();
		this.requestFn();
		this.XHR.onreadystatechange = function() {
			that.stateFn();
		}
	}
	Ajax.prototype.requestFn = function() {
		if(this.config.data && this.config.method.toLowerCase() == 'get') {
			var url = this.config['url'] + '?' + this.config.data;
		} else {
			var url = this.config['url'] + '?a=' + Math.random();
		}
		this.XHR.open(this.config.method,url,true);
		if(this.config.data && this.config.method.toLowerCase() == 'post') {
			this.XHR.setRequestHeader('Content-type','application/x-www-form-urlencoded');
			this.XHR.send(this.config.data);
		} else {
			this.XHR.send(null);
		}
	}
	Ajax.prototype.stateFn = function() {
		if(this.XHR.readyState == 4) {
			if(this.XHR.status == 200) {
				return this.config.succee(this.XHR.responseText);
			} else {
				return this.config.fail(this.XHR.statusText);
			}
		}
	}
	window.Ajax=Ajax;
})();

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 😃 https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...