-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathminiAjax.min.js
1 lines (1 loc) · 1.87 KB
/
miniAjax.min.js
1
!function(e){function t(o){if(n[o])return n[o].exports;var a=n[o]={exports:{},id:o,loaded:!1};return e[o].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t){"use strict";!function(e){function t(e,t){var n=[];for(var o in e)n.push(encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return t&&n.push(("v="+Math.random()).replace(".","")),n.join("&")}e.ajax=function(e){e=e||{},e.type=(e.type||"GET").toUpperCase(),e.dataType=e.dataType||"json";var n=t(e.data,!0);if(window.XMLHttpRequest)var o=new XMLHttpRequest;else var o=new ActiveXObject("Microsoft.XMLHTTP");o.onreadystatechange=function(){if(4==o.readyState){var t=o.status;t>=200&&t<300?e.success&&e.success(o.responseText,o.responseXML):e.fail&&e.fail(t)}},"GET"==e.type?(o.open("GET",e.url+"?"+n,!0),o.send(null)):"POST"==e.type&&(o.open("POST",e.url,!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.send(n))},e.jsonp=function(e){if(e=e||{},!e.url||!e.callback)throw new Error("参数不合法");var n=("jsonp_"+Math.random()).replace(".",""),o=document.getElementsByTagName("head")[0];e.data[e.callback]=n;var a=t(e.data),r=document.createElement("script");o.appendChild(r),window[n]=function(t){o.removeChild(r),clearTimeout(r.timer),window[n]=null,e.success&&e.success(t)},r.src=e.url+"?"+a,e.time&&(r.timer=setTimeout(function(){window[n]=null,o.removeChild(r),e.fail&&e.fail({message:"超时"})},e.time))},e.ready=function(e){if(document.addEventListener)document.addEventListener("DOMContentLoaded",function(){e&&e()},!1);else{var t;!function(){var n=function n(){try{if(document.documentElement.doScroll("left"),t)return;t=!0,e&&e()}catch(e){setTimeout(n,1)}};t=!1,document.attachEvent("onreadystatechange",function(){t||"complete"!=document.readyState&&"interactive"!=document.readyState||(t=!0,e&&e())}),window.frameElement||setTimeout(n,1)}()}}}(window||void 0)}]);