js AJAX封装笔记

function ajax(){
	var ajaxData={
		type:arguments[0].type || "GET",
		url:arguments[0].url || "",
		async:arguments[0].async || "true",
		data:arguments[0].data || null,
		dataType:arguments[0].dataType || "text",
		contentType:arguments[0].contentType || "application/x-www-form-urlencoded",
		beforeSend:arguments[0].beforeSend || function(){},
		success:arguments[0].success || function(){},
		error:arguments[0].error || function(){}
	};
	ajaxData.beforeSend();
	var xhr=createxmlHttpRequest();
	xhr.responseType = ajaxData.dataType;
	xhr.open(ajaxData.type,ajaxData.url,ajaxData.async);
	xhr.setRequestHeader("Content_Type",ajaxData.contentType);
	xhr.send(convertData(ajaxData.data));
	xhr.onreadystatechange=function(){
		if(xhr.readyState == 4){
			if(xhr.status == 200){
				ajaxData.success(xhr.response);
			}else{
				ajaxData.error();
			}
		}
	}	
}

function createxmlHttpRequest(){
	if(window.ActiveXObject){
		return new ActiveXObject("Microsoft.XMLHttp");
	}else if (window.XMLHttpReQuest){
		return new XMLHttpRequest();
	}
}

function convertData(data){
	if(typeof data === "object"){
		var convertResult="";
		for(var c in data){
			convertResult+= c + "="+data[c] + "&";
		}
		convertResult=convertResult.substring(0,convertResult.length-1);
		return convertResult;
	}else{
		return data;
	}
}

  

posted @ 2019-02-28 18:37  寻非语  阅读(154)  评论(0)    收藏  举报