functioncreatexhr () {if(typeofXMLHttpRequest! = ' undefined '){ return NewXMLHttpRequest (); }Else if(typeofActiveXObject! = ' undefined '){ varVersion = [ ' msxml2.xmlhttp.6.0 ', ' msxml2.xmlhttp.3.0 ', ' Msxml2.xmlhttp ', ]; for(vari=0; i<version.length; i++){ Try{ return NewActiveXObject (Version[i]); }Catch(e) {} }}Else{ Throw NewError (' Your system or browser does not support XHR objects! ‘); }}//Name value pair conversion stringfunctionparams (data) {varArr=[]; for(varIinchdata) {Arr.push (encodeURIComponent (i)+ ' = ' +encodeURIComponent (Data[i])); } returnArr.join (' & '));}//Encapsulating AjaxfunctionAjax (obj) {varXHR =Newcreatexhr (); Obj.url= Obj.url + '? rand= ' +Math.random (); Obj.data=params (obj.data); if(Obj.method = = ' Get ') Obj.url + = Obj.url.indexOf ('? ') = =-1? '? ' +obj.data: ' & ' +Obj.data; if(Obj.async = = =true) {Xhr.onreadystatechange=function(){ if(Xhr.readystate = = 4) {callback (); }}} xhr.open (Obj.method, Obj.url, Obj.async); if(Obj.method = = = ' Post ') {Xhr.setrequestheader (' Content-type ', ' application/x-www-form-urlencoded '); Xhr.send (Obj.data); }Else{xhr.send (NULL); } if(Obj.async = = =false) {callback (); } functioncallback () {if(Xhr.status = = 200) {obj.success (xhr.responsetext); }Else{Console.log ("Get Data Error!" Error code: "+ xhr.status +" error message: "+xhr.statustext); } }}//Calling AjaxAddevent (document, ' click ',function() {Ajax ({method:' Get ', URL:' Demo.php ', data:{' Name ': ' L&ee ', ' Age ': 100}, Success:function(text) {console.log (text); }, Async:true });})
Ajax Pure JavaScript