澳门新莆京手机网站-新蒲京娱乐场 > 计算机 > 卷入了jQuery的Ajax诉求全局配置_jquery_脚本之家

卷入了jQuery的Ajax诉求全局配置_jquery_脚本之家

摘要:

function CCPry(){
 //
 // 决断浏览器类型
 //
 this.Browser ={
     "isMozilla":(typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined'),
     "isIE":window.ActiveXObject ? true : false,
     "isFirefox":navigator.userAgent.toLowerCase().indexOf("firefox")!=-1,
     "isOpera":navigator.userAgent.toLowerCase().indexOf("opera")!=-1
 };
 
 //
 //遵照成分ID重返DOM对象
 //
 this.$Id=function(id){
    return document.getElementById(id);
 };
 //
 //依据成分ID再次回到DOM对象
 //
 this.Id=function(id){
       var DomObjId=this.$Id(id);
       if(!DomObjId){ throw new Error("No Object!");}
       //重临或安装对象的innerHTML属性
       this.Html=function(html){
           if(!this.IsUndefined(DomObjId.innerHTML))
           {
               if(!this.IsNull(html)){
                  DomObjId.innerHTML=html;
               }
               else{ return DomObjId.innerHTML };
           }
           else{ throw new Error("Object does not support the property innerHTML!");};
       };
       //重返或安装对象的innerText属性
       this.Text=function(text){
           if(!this.IsUndefined(DomObjId.innerText))
           {
               if(!this.IsNull(text)){
                  DomObjId.innerText=text;
               }
               else{ return DomObjId.innerText };
           }
           else{ throw new Error("Object does not support the property innerText!");};
       };   
       //重回或设置对象的value属性
       this.Val=function(val){
           if(!this.IsUndefined(DomObjId.value))
           {
               if(!this.IsNull(val)){
                  DomObjId.value=val;
               }
               else{ return DomObjId.value };
           }
           else{ throw new Error("Object does not support the property value!");};
       }
    return this;
 };
 
 //
 //依据成分Name再次回到DOM对象
 //
 this.$Name=function(name){
  return document.getElementsByName(name);
 };
 
 //
 //剖断字符串是还是不是为空或许null
 //
 this.IsNullOrEmpty=function( str ) {
  if(str==null){
     return true;
  }
  else{
      if(str.length<=0){
          return true;
      }
  }
  return false;
 };
 //
 //判别字符串是或不是为空
 //
 this.IsEmpty=function( str ) {
     if(str.length<=0){
         return true;
     }
  return false;
 };
 //
 //剖断字符串是不是null
 //
 this.IsNull=function( str ) {
  if(str==null){
     return true;
  }
  return false;
 };
 //
 //判别是或不是是函数
 //
 this.IsFunction=function( fn ) {
  return typeof(fn)=="function";
 };
 
 //
 //推断是还是不是是对象
 //
 this.IsObject=function( fn ) {
  return typeof(fn)=="object";
 };
 //
 //判定是或不是是字符串
 //
 this.IsString=function( fn ) {
  return typeof(fn)=="string";
 };
 
 //
 //推断是还是不是是数字型
 //
 this.IsNumber=function( fn ) {
  return typeof(fn)=="number";
 };
 
 //
 //剖断是或不是是布尔型
 //
 this.IsBoolean=function( fn ) {
  return typeof(fn)=="boolean";
 };
 
 //
 //判别是还是不是未定义
 //
 this.IsUndefined=function( fn ) {
  return typeof(fn)=="undefined";
 };
 
 //
 //判定是不是是日期型
 //
 this.IsDate=function( fn ) {
  return fn.constructor==Date;
 };
 
 //
 //返回Ajax对象
 //
 this.Ajax=function(s){
  
    //构造XMLHttpRequest对象
    GetXmlHttpRequest=function(){
   var xmlHttpRequest;
   if(window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest();}
    else if(window.ActiveXObject) { 
    try { xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } 
    catch (e){ xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
   }
   if (!xmlHttpRequest) { 
    alert("创制XMLHttpRequest对象战败"卡塔尔(قطر‎;
    return null;
   } 
   return xmlHttpRequest;
  };
  
  //默认Ajax配置
  ajaxSettings={
   url: "/ajax/ProcessAjax.ashx",
   method: "POST",
   timeout: 0,
   mimeType: "application/x-www-form-urlencoded",
   async: true,
   data: null,
   datatype:"html",
   charset:"utf-8",
      accepts: {
       xml: "application/xml, text/xml",
       html: "text/html",
       script: "text/javascript, application/javascript",
       json: "application/json, text/javascript",
       text: "text/plain",
       _default: "*/*"
      },
      /// <summary>
         /// 乞请开头时调用函数
         /// </summary>
   OnStart:function(){
    //start
   },
      /// <summary>
         /// 央浼成功后回调函数
         /// </summary>
   /// <param name="msg">服务器再次来到数据</param>
   OnSuccess:function(msg){
    //success
   },
   /// <summary>
         /// 操作特别调用函数
         /// </summary>
   /// <param name="msg">分外新闻</param>
   OnException:function(msg){
    //exception
   },
   /// <summary>
         /// 央浼超时后调用函数
         /// </summary>
   OnTimeout:function(){
    //timeout
   },
   /// <summary>
         /// 诉求完结后调用函数
         /// </summary>
   OnComplate:function(){
    //complate
   }
  };
  
  if(this.IsObject(s)){

jQuery已经济体改成门类中最广泛的js库,也是前端开垦最赏识使用的库。上面是在项目中封装了jQuery的Ajax,分享给大家。

   /*检查评定传入对象*/
   ajaxSettings.url = (!this.IsUndefined(s.url) && this.IsString(s.url)) ? s.url : ajaxSettings.url;
   ajaxSettings.method =(!this.IsUndefined(s.method) && this.IsString(s.method)) ? s.method : ajaxSettings.method;
   ajaxSettings.timeout = (!this.IsUndefined(s.timeout) && this.IsNumber(s.timeout)) ? s.timeout : ajaxSettings.timeout;
   ajaxSettings.mimeType= (!this.IsUndefined(s.mimeType) && this.IsString(s.mimeType)) ? s.mimeType : ajaxSettings.mimeType;
   ajaxSettings.async = (!this.IsUndefined(s.async) && this.IsBoolean(s.async)) ? s.async : ajaxSettings.async;
   ajaxSettings.data = (!this.IsUndefined(s.data) && this.IsString(s.data)) ? s.data : ajaxSettings.data;
   ajaxSettings.datatype = (!this.IsUndefined(s.datatype) && this.IsString(s.datatype)) ? s.datatype: ajaxSettings.datatype;
   ajaxSettings.charset =(!this.IsUndefined(s.charset) && this.IsString(s.charset)) ? s.charset: ajaxSettings.charset;
   ajaxSettings.OnStart =(!this.IsUndefined(s.OnStart) && this.IsFunction(s.OnStart)) ? s.OnStart : ajaxSettings.OnStart;
   ajaxSettings.OnSuccess =(!this.IsUndefined(s.OnSuccess) && this.IsFunction(s.OnSuccess)) ? s.OnSuccess : ajaxSettings.OnSuccess;
   ajaxSettings.OnException=(!this.IsUndefined(s.OnException)&&this.IsFunction(s.OnException))?s.OnException:ajaxSettings.OnException;
   ajaxSettings.OnTimeout = (!this.IsUndefined(s.OnTimeout) && this.IsFunction(s.OnTimeout)) ? s.OnTimeout : ajaxSettings.OnTimeout;
   ajaxSettings.OnComplate=(!this.IsUndefined(s.OnComplate) && this.IsFunction(s.OnComplate)) ? s.OnComplate : ajaxSettings.OnComplate;

代码:

   //赋值xmlhttp,传入XMLHttpRequest对象
   var xmlhttp=GetXmlHttpRequest();
   var requestDone=false;
   try
   {
           //依据POST或GET方法判断xmlhttp.send(卡塔尔要求传入什么参数
           if (ajaxSettings.data && ajaxSettings.method.toUpperCase() == "GET" ) {
      ajaxSettings.url += (ajaxSettings.url.match(/?/) ? "&" : "?") + ajaxSettings.data;
      ajaxSettings.data = null;
     }
     xmlhttp.open(ajaxSettings.method,ajaxSettings.url,ajaxSettings.async);
     xmlhttp.setRequestHeader("Content-Type", ajaxSettings.mimeType);
     xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"卡塔尔(قطر‎;     // 设置标题表澳优个XMLHttpRequest的央求
     xmlhttp.setRequestHeader("Accept",ajaxSettings.datatype && ajaxSettings.accepts[ ajaxSettings.datatype ] ?ajaxSettings.accepts[ ajaxSettings.datatype ] + ", */*" :ajaxSettings.accepts._default);
     if(ajaxSettings.timeout>0){
      var timer=setTimeout(function(){requestDone=true;xmlhttp.abort();},ajaxSettings.timeout);
     }
     var xmlreadystatechange=function ()
     {
      if(requestDone){ ajaxSettings.OnTimeout(); } //timeout
      else if(xmlhttp.readyState==4) //success
      {
       if (timer) { clearTimeout(timer); timer = null;} 
       if (xmlhttp.status==200 || xmlhttp.status=="success")
       {  
        switch(ajaxSettings.datatype.toLowerCase()) 
        {
         case "html":
          ajaxSettings.OnSuccess(xmlhttp.responseText);
          break;
         case "xml": 
          ajaxSettings.OnSuccess(xmlhttp.responseXML); 
          break;
        }
       }
       ajaxSettings.OnComplate(); //complate
       if (ajaxSettings.async&&xmlhttp){ xmlhttp=null; }
      }
      else{ajaxSettings.OnStart();} //start
     } 
     xmlhttp.onreadystatechange=xmlreadystatechange;
     xmlhttp.send(ajaxSettings.data);
     if (!ajaxSettings.async){ xmlreadystatechange();xmlhttp=null; }
   }
   catch(e){
    ajaxSettings.OnException(e.message); //exception
   }
  }
  return this;
 }
 //
 // 拆分JSON对象并以特定符号连接组成字符串
 //
 this.SplitJson=function(jsonObj,splitSign){
 
     var jsonStr='',signLastIndex;
     for (jo in jsonObj) 
     {
   jsonStr += (jo + "=" + jsonObj[jo] + splitSign) ;
     }
  signLastIndex=jsonStr.lastIndexOf(splitSign);
  if(signLastIndex!=-1){
   jsonStr=jsonStr.substring(0,signLastIndex);
  }
  return jsonStr;
 }
 //
 // JS图片缩略
 //
    this.DrawImage=function(ImgD,iwidth,iheight){
        var flag=false;
        var image=new Image();
        image.src=ImgD.src;
        if(image.width>0 && image.height>0)
        {
            flag=true;
            if(image.width/image.height>= iwidth/iheight)
            {
                if(image.width>iwidth)
                { 
                    ImgD.width=iwidth;
                    ImgD.height=(image.height*iwidth)/image.width;
                }
                else
                {
                    ImgD.width=image.width; 
                    ImgD.height=image.height;
                }
            }
            else
            {
                if(image.height>iheight)
                { 
                    ImgD.height=iheight;
                    ImgD.width=(image.width*iheight)/image.height; 
                }
                else
                {
                    ImgD.width=image.width; 
                    ImgD.height=image.height;
                }
            }
         }
    }
    //
 // 截取字符串 包罗中文管理  
 //
    this.SubString=function(str, len, hasDot){  
        var newLength = 0;  
        var newStr = "";  
        var chineseRegex = /[^x00-xff]/g;  
        var singleChar = "";  
        var strLength = str.replace(chineseRegex,"**").length;  
        for(var i = 0;i < strLength;i++)  
        {  
            singleChar = str.charAt(i).toString();  
            if(singleChar.match(chineseRegex) != null)  
            {  
                newLength += 2;  
            }      
            else  
            {  
                newLength++;  
            }  
            if(newLength > len)  
            {  
                break;  
            }  
            newStr += singleChar;  
        }  
        if(hasDot && strLength > len)  
        {  
            newStr += "图片 1";  
        }  
        return newStr;  
    }
    //
 // 替换全部
 //
    this.ReplaceAll=function(Str,oldString,newString){
        return Str.replace(new RegExp(oldString,"gm"),newString); 
    },
    //
 // 获得U奥迪Q3L参数,无效再次回到undfined
 //
    this.RequestQueryString=function(url){
   var qIndex=url.indexOf('?');
   var queryObj={};
   if(qIndex!=-1){
      var queryStr=url.substring(qIndex+1,url.length);
      if(queryStr.indexOf('&')!=-1){
         var arrQuery = new Array();
         arrQuery=queryStr.split('&');
         for(arrStr in arrQuery){
             paramKey=arrQuery[arrStr].substring(0,arrQuery[arrStr].indexOf("=")).toLowerCase();
             paramValue=arrQuery[arrStr].substring(arrQuery[arrStr].indexOf("=")+1,arrQuery[arrStr].length); 
             queryObj[paramKey]=paramValue
         }
      }
      else{
         paramKey=queryStr.substring(0,queryStr.indexOf("=")).toLowerCase();
         paramValue=queryStr.substring(queryStr.indexOf("=")+1,queryStr.length); 
         queryObj[paramKey]=paramValue;
      }
   }
   return queryObj;
    }
}
window.$CC=new CCPry();

复制代码 代码如下:// ajax 央浼参数var ajaxSettings = function { var url = opt.url; var href = location.href; // 判别是不是跨域诉求 var requestType = 'jsonp'; if (url.indexOf requestType = 'json'; requestType = opt.dataType || requestType; // 是还是不是异步诉求 var async = (opt.async === undefined ? true : opt.async卡塔尔; return { url: url, async: async, type: opt.type || 'get', dataType: requestType, cache: false, data: opt.data, success: function(data, textStatus, xhr卡塔尔 { /* *假使dataType是json,怎判别重临数据是还是不是为json格式,假设不是实行调换 * 成功数据通用格式 * { * "code": 200, * "data": [], * "success": true // 成功 * } * 失败重临的数据 * { * "code": 200, * "info": 'error', * "success": false // 失败 * } */ if((requestType === 'json' || requestType === "jsonp") && typeof { data = JSON.parse; } if { opt.success; }

if { opt.error; }

Copyright © 2015-2019 http://www.carrefourstation.com. 澳门新莆京手机网站-新蒲京娱乐场有限公司 版权所有