$.xml = function( type, url, data, ret ) { var xml = new XMLHttpRequest(); if ( xml ) { xml.open(type || "GET", url, true); xml.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xml.setRequestHeader('Accept', 'text/javascript, text/html, application/xml, text/xml, */*'); if ( data ) xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xml.onreadystatechange = function() { if ( xml.readyState == 4 ) { if ( ret ) ret(xml); $.triggerAJAX( $.httpData(xml) ); } }; xml.send(data) } }; $.httpData = function(r,type) { var json = r.getResponseHeader('x-json'); if (json) return eval("(" + json + ")"); var contentType = r.getResponseHeader("content-type"); if (contentType.indexOf("xml") > 0) return r.responseXML; if (contentType.indexOf("json") > 0) return eval("(" + r.responseText + ")"); if (contentType.indexOf("javascript") > 0) eval(r.responseText); return r.responseText; };