1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| ajax: function( type, url, data, ret, ifModified ) { if ( !url ) { ret = type.complete; var success = type.success; var error = type.error; data = type.data; url = type.url; type = type.type; } if ( ! jQuery.active++ ) jQuery.event.trigger( "ajaxStart" ); var requestDone = false; var xml = new XMLHttpRequest(); xml.open(type || "GET", url, true); if ( data ) xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); if ( ifModified ) xml.setRequestHeader("If-Modified-Since", jQuery.lastModified[url] || "Thu, 01 Jan 1970 00:00:00 GMT" ); xml.setRequestHeader("X-Requested-With", "XMLHttpRequest"); if ( xml.overrideMimeType ) xml.setRequestHeader("Connection", "close"); var onreadystatechange = function(istimeout){ if ( xml && (xml.readyState == 4 || istimeout == "timeout") ) { requestDone = true; var status = jQuery.httpSuccess( xml ) && istimeout != "timeout" ? ifModified && jQuery.httpNotModified( xml, url ) ? "notmodified" : "success" : "error"; if ( status != "error" ) { var modRes = xml.getResponseHeader("Last-Modified"); if ( ifModified && modRes ) jQuery.lastModified[url] = modRes; if ( success ) success( xml, status ); jQuery.event.trigger( "ajaxSuccess" ); } else { if ( error ) error( xml, status ); jQuery.event.trigger( "ajaxError" ); } jQuery.event.trigger( "ajaxComplete" ); if ( ! --jQuery.active ) jQuery.event.trigger( "ajaxStop" ); if ( ret ) ret(xml, status); xml.onreadystatechange = function(){}; xml = null; } }; xml.onreadystatechange = onreadystatechange; if(jQuery.timeout > 0) setTimeout(function(){ if (xml) { xml.abort();
if ( !requestDone ) onreadystatechange( "timeout" );
xml = null; } }, jQuery.timeout); xml.send(data); },
|