微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

封装原生Ajax

<script type="text/javascript">
	//传入参数依次是("请求类型","路径","参数","回调函数")
	function ajax(method,url,params,done){
		//创建对象
		var xhr = new XMLHttpRequest();
		var data = null;
		//对参数的类型进行判断并进行格式的转化
		if(typeof params == "object") {
			var arr = new Array();
			for(key in params){
				var value = params[key];
				arr.push(key + "=" + params[key]);
			}
			params = arr.join("&");
			//console.log(params);
		}
		//"GET"请求转换为GET的传参形式
		if(typeof method == "GET"){
			url += "?" + params;
		}
		if(typeof method == "POST"){
			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			data = params;
		}
		xhr.open(method,url);
		xhr.send(data);
		//对返回状态的判断
		xhr.onreadystatechange = function(){
			if(this.readyState != 4){return}
			//console.log(this.responseText);
		done(this.responseText);
		}
	}
	//执行回调函数
	function onDone(ret){
		console.log("开始执行");
		console.log(ret);
		console.log("执行完毕")
	}
	ajax("POST","/time_data",{"id1":"1","id2":"2"},onDone);
	</script>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐