1. 程式人生 > >時間格式化封裝、ajax封裝

時間格式化封裝、ajax封裝

1、時間格式化

Date.prototype.format=function(pattern){//日期格式化
	var returnValue=pattern;
	var format={
		"y+":this.getFullYear(),
		"M+":this.getMonth()+1,
		"d+":this.getDate(),
		"H+":this.getHours(),
		"m+":this.getMinutes(),
		"s+":this.getSeconds(),
		"S":this.getMilliseconds(),
		"h+":(this.getHours()%12),
		"a":(this.getHours()/12)<=1?"AM":"PM"
	};
	for(var key in format){
		var regExp=new RegExp("("+key+")");
		if(regExp.test(returnValue)){
			var zero="";
			for(var i=0;i<RegExp.$1.length;i++){
				zero+="0"
			}
			var replacement=RegExp.$1.length==1?format[key]:(zero+format[key]).substring(((""+format[key]).length));
			returnValue=returnValue.replace(RegExp.$1,replacement)
		}
	}
	return returnValue
};

用法:

new Date().format("yyyy-MM-dd HH:00:00")

ajax封裝:

function ajax(obj){//ajax請求
	$.ajax({
		url:obj.url,//請求地址
		type:obj.type||"POST",//請求方式
		async:(function(){//obj.async||true,//是否非同步
			if(obj.async==false){
				return false;
			}else{
				return true;
			}
		})(),
		cache:obj.cache||true,//是否從瀏覽器快取中載入請求資訊
		data:obj.data||"",//請求引數
		dataType:obj.dataType||"json",//返回的資料型別
		timeout:30000,
		beforeSend : function(jqXHR, setting) {//資料查詢過程中
			if(!obj.noneOpen){//
				$("#loading",parent.document).show();
			}
		},
		complete : function(XMLHttpRequest, textStatus) {//資料查詢超時
			if(textStatus=="timeout"){
				$("#loading",parent.document).hide();
				msg({
					layer:obj.layer,
					title:"查詢資料超時"
				});
			}
		},
		success : function(data) {//資料查詢成功
			if(obj.func){
				obj.func(data);
			}
			$("#loading",parent.document).hide();
		},
		error : function(error) {//資料查詢失敗
			if(obj.error){
				obj.error(error);
			}
			$("#loading",parent.document).hide();
		}
	});
}

ajax用法:

	ajax({
		url:path+"/electric/cost/data",
		data:elem,
		layer:layer,
		func:function(data){
			console.log(data);
		}
	});