项目开发中常用的公共方法类

 狼丶宇先生   2017-06-26 12:10   520 人阅读  0 条评论
(function($){
    //备份jquery的ajax方法
    var _ajax=$.ajax;
    //重写jquery的ajax方法
    $.ajax=function(opt){
        //备份opt中error和success方法
        var fn = {
            error:function(XMLHttpRequest, textStatus, errorThrown){},
            success:function(data, textStatus){}
        }
        if(opt.error){
            fn.error=opt.error;
        }
        if(opt.success){
            fn.success=opt.success;
        }
        //扩展增强处理
        var _opt = $.extend(opt,{
            error:function(XMLHttpRequest, textStatus, errorThrown){
                //错误方法增强处理
                fn.error(XMLHttpRequest, textStatus, errorThrown);
            },
            success:function(data, textStatus,xhr){
            	if(data.err != null && data.err != '' && data.err != undefined){
            		if(data.err=='Login information error'){
            			alert("您的账号已经过期或者失效!");
						window.location.href="loginFilter.html";
            			return false;
            		}else if(data.err=='Account has been forced offline'){
            			alert("您的账号异地登录,被迫强制下线!");
            			$.cookie("token",null);
            			window.location.href="loginFilter.html";
            			return false;
            		}
            	}
                //成功回调方法增强处理
                fn.success(data, textStatus);
            }
        });
        return _ajax(_opt);
    };
})(jQuery);
function getDateTostr(time){
	var timestamp =time;
	var d = new Date(timestamp * 1000);    //根据时间戳生成的时间对象
	var date = (d.getFullYear()) + "-" + 
	           (d.getMonth() + 1) + "-" +
	           (d.getDate()) + " " + 
	           (d.getHours()) + ":" + 
	           (d.getMinutes()) + ":" + 
	           (d.getSeconds());
	return date;
}

//给小于10的日期加上 0
function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds();
    return currentdate;
}

//统一的get请求方式

function getUrl(url){
	var reslut="";
	$.ajax({  
		url:url, 
        type: "get",  
        async: false,  
        data:"",
        dataType: "html",
        success: function(html) {
        	reslut= html;
        },  
        error: function(){alert('Error');}  
    }); 
	return reslut;
}

//数据请求的POST统一方式
function commAjaxPost(url,json){
	var reslut;
	$.ajax({  
		url:url, 
        type: "post",  
        async: false,  
        data:"data="+JSON.stringify(json),
        dataType: "json",  
        success: function(json) {
			reslut=json;
        },  
        error: function(){
		}  
    });  
	return reslut;
}

//数据请求的统一方式
function commPointAjaxPost(url,key,val){
	var json=urlObj.getJson();
	json[key]=val;
	var reslut;
	$.ajax({  
		url:url, 
        type: "post",  
        async: false,  
        data:"data="+JSON.stringify(json),
        dataType: "json",  
        success: function(json) {
			reslut=json;
        },  
        error: function(){
		}  
    });  
	return reslut;
}

//表单提交 共有方法
function commFromAjax(url,json){
	if(!hklfromTest()){
		return false;
	}
	var subJson = {};
	if(json!=null&&json!=''&&json!=undefined){
		subJson=json;
	}
	var reslut=0;
	$("[form_sub]").each(function () {
		var str=$(this).attr("form_sub");
		subJson[str]=$(this).val();
	});
	subJson['token']=JSON.parse($.cookie("token"));
	$.ajax({  
		url:url, 
        type: "post",  
        async: false,  
        data:"data="+JSON.stringify(subJson),
        dataType: "json",  
        success: function(json) {
			reslut=json.result;
        },  
        error: function(){
			reslut=0;
		}  
    });  
	return reslut;
}

//普通图片判断  空图验证
function getImgUrl(url) {
    var resuleImg="";
    $.ajax({
        url: url,
        type: 'GET',
        async: false,
        complete: function(response) {
            if(response.status == 200) {
                resuleImg=url;
            } else {
                resuleImg='/img/avatars/avatar3.jpg';
            }
        }
    });
    return resuleImg;
}

//根据两个日期 计算天数时间差值  格式: 2017-05-06 

function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2006-12-18格式  
   if(sDate1 == undefined || sDate1 == null || sDate1 == ''){
   		return null;
   }
   if(sDate2 == undefined || sDate2 == null || sDate2 == ''){
   		return null;
   }
   var  aDate,  oDate1,  oDate2,  iDays  
   aDate  =  sDate1.split("-")  
   oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2006格式  
   aDate  =  sDate2.split("-")  
   oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
   iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
   iDays = iDays==0?1:iDays;
   return  iDays;
}
/***f5&&Ctrl+r刷新事件监听***/
window.onkeydown = function(e) { //键盘按键控制
	//鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标在当前窗口上的水平位置
	var n = window.event.screenX - window.screenLeft;
	//鼠标在当前窗口内时,n<m,b为false;鼠标在当前窗口外时,n>m,b为true。20这个值是指关闭按钮的宽度
	var b = n > document.documentElement.scrollWidth - 20;
	e = e || window.event;
	if((e.ctrlKey && e.keyCode == 82) || e.keyCode == 116 || b && window.event.clientY < 0) { //F5刷新,禁止 //ctrl+R            
		//利用对话框返回的值 (true 或者 false)  
		if(confirm("您确定刷新网页吗?这将会重新加载网站,您已提交的表单数据也可能会被重新提交!")) {
			window.location.reload(); //刷新网页
			//          alert("确定刷新");  
		} else {
			return null;
			//          alert("取消刷新");  
		}
	}
}


本文地址:http://hao2013.cn/?id=28
版权声明:本文为原创文章,版权归 狼丶宇先生 所有,欢迎分享本文,转载请保留出处!
PREVIOUS:已经是最后一篇了