<script> //簡單的封裝一個ajax /** * ajax: async javascript and json * 主要用來實現前後端的數據交流 * A要發送一個信息給B * 請求當中需要有的基本信息 * 1.B的地址 * 2.請求方式 * 3.請求數據 * 4.狀態碼(B是否正常接收數據 ...
<script> //簡單的封裝一個ajax /** * ajax: async javascript and json * 主要用來實現前後端的數據交流 * A要發送一個信息給B * 請求當中需要有的基本信息 * 1.B的地址 * 2.請求方式 * 3.請求數據 * 4.狀態碼(B是否正常接收數據) * 5.響應數據 * XMLHttpRequest對象 * 五層網路模型: * 物理層 * 數據鏈路層 * 網路層 * 傳輸層 * 應用層 */ function ajax(options){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{//相容IE6 xhr = new ActiveXObject('Microsoft.XMLHTTP'); } xhr.onreadystatechange = function(){//監聽響應事件 //readyState的幾個值 //0:當前代理已經被創建,還沒有調用open方法 //1:調用了open方法,建議連接 //2:send方法已經被調用 //3:代表正在接收相應信息 //4:代表響應數據全部發送完成 //status的幾個值 //200:正常響應 if(xhr.readyState == 4 && ){ if(xhr.status == 200){ options.success(JSON.parse(xhr.responseText)); }else{ console.log('error'); } } } if(options.type == 'GET'){ xhr.open(options.type, options.url + '?' + options.data, options.flag); xhr.send(); }else if(options.type == 'POST'){ xhr.open(options.type, options.url, options.flag); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//請求頭的編碼類型:key=value&key1=value1 xhr.send(options.data); } } </script>Ajax.js