-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathajax.min.js
1 lines (1 loc) · 3.32 KB
/
ajax.min.js
1
define("ajax",[],(function(){"use strict";var e;String.prototype.trim||(e=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,String.prototype.trim=function(){return this.replace(e,"")}),String.prototype.isEmpty||(String.prototype.isEmpty=function(){var e;return null!=this&&(e=this.toString()),null==e||""===e.trim()});var t=function(e,n){if(n=n||"",!function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}(e)){var r=[];for(var o in e)if(void 0!==e[o]&&null!==e[o])if("object"==typeof e[o]){var i=t(e[o],n+encodeURIComponent(o)+".");r=r.concat(i.split("&"))}else r.push(n+encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return r.join("&")}return null},n=function(e){return e>=200&&e<300},r=function(e){return e&&"function"==typeof e},o=function(e){var t=e.match(/\/\/(.+?)\//);return t&&!!t[1]&&t[1]!==window.location.host},i=function(e,a,s,c,u){c=c||{},(u=u||{}).retries=u.retries?parseInt(u.retries):0,u.timeout=u.timeout?parseInt(u.timeout):1e4,u.cache=!!u.cache;var p,l=new XMLHttpRequest;if(u.async=!!u.async,"GET"===e&&(a=function(e,n){var r=t(n);return(null===r||e.indexOf(r))>=0||/(&$)/.test(e)?e:e+=(/(\?)/.test(e)?"&":"?")+r}(a,s)),a=function(e,t){return t||/(\?|&)_t=/.test(e)?e:/\?/.test(e)?e+(/(&$)/.test(e)?"_t=":"&_t=")+ +new Date:e+"?_t="+ +new Date}(a,u.cache),l)if(l.open(e,a,u.async),function(e,t,n,r){for(var i in r.Accept=r.Accept||"application/json",o(e)||(r["X-Requested-With"]=r["X-Requested-With"]||"XMLHttpRequest"),"GET"!==n&&(r["Content-Type"]=r["Content-Type"]||"application/x-www-form-urlencoded;charset=UTF-8"),r)"Content-Type"===i&&"multipart/form-data"===r[i]||t.setRequestHeader(i,r[i])}(a,l,e,u.headers||{}),u.timeout&&(p=setTimeout((function(){l.abort(),u.retries>0&&(u.retries--,i(e,a,s,c,u))}),u.timeout)),l.onreadystatechange=function(){!function(e,t,o,i){if(4===e.readyState){i&&void 0!==o&&clearTimeout(o);var a=e.getResponseHeader("Content-Type")||"",s="",c=!1;try{s=-1!==a.indexOf("json")?JSON.parse(e.responseText):-1!==a.indexOf("xml")?(new DOMParser).parseFromString(e.responseText,"text/xml"):e.responseText}catch(e){c=!0}!c&&n(e.status)&&r(t.success)?(t.success(s,e),o&&(clearTimeout(o),o=null)):!c&&n(e.status)||!r(t.error)||i&&t.error(e.statusText||e.responseText,e),c&&!i||!r(t.complete)||(t.complete(e),o&&clearTimeout(o))}}(this,c,p,0===u.retries)},"GET"===e)l.send();else if(void 0!==u.headers&&"application/json"===u.headers["Content-Type"])l.send(JSON.stringify(s));else if(void 0!==u.headers&&"multipart/form-data"===u.headers["Content-Type"]){for(var f=new FormData,m=Object.keys(s),d=0;d<m.length;d++)f.append(m[d],s[m[d]]);l.send(f)}else l.send(t(s))};return{get:function(e,t,n,r){i("GET",e,t,n,r)},post:function(e,t,n,r){i("POST",e,t,n,r)},put:function(e,t,n,r){i("PUT",e,t,n,r)},delete:function(e,t,n,r){i("DELETE",e,t,n,r)},serializeObject:function(e){for(var t=Array.prototype.slice.call(e.getElementsByTagName("input")),n=Array.prototype.slice.call(e.getElementsByTagName("textarea")),r=Array.prototype.slice.call(e.getElementsByTagName("select")),o=t.concat(n).concat(r),i={},a=o.length,s=0;s<a;s++){var c=o[s].getAttribute("name");if(!o[s].disabled&&!o[s].name.isEmpty())if("radio"===o[s].type||"checkbox"===o[s].type)o[s].checked&&(i[c]=o[s].value);else if("file"===o[s].type){var u=o[s].files;if(1===u.length)i[c]=u[0];else for(var p=0;p<u.length;p++)i[c+"["+p+"]"]=u[p]}else i[c]=o[s].value}return i}}}));