一碍论、問答題
1. ajax 是什么谅猾?有什么作用?
ajax是異步 JavaScript + XML的縮寫鳍悠,不過現(xiàn)在JSON使用的更多税娜; 概括起來就一句話,AJAX通過原生的XMLHttpRequest
對象發(fā)出HTTP請求藏研,得到服務器返回的數(shù)據(jù)后敬矩,再進行處理;
2. 前后端開發(fā)聯(lián)調需要注意哪些事情蠢挡?后端接口完成前如何 mock 數(shù)據(jù)弧岳?(npm install -g server-mock)
需要注意的事情有:
1.約定前后端聯(lián)調的時間。
2.約定雙方需要傳輸?shù)臄?shù)據(jù)和接口业踏,在接口文檔中確定好參數(shù)的名稱禽炬、格式等。
3.約定請求和響應的格式和內容勤家。
MOCK數(shù)據(jù)的方法有:
1.自己模擬數(shù)據(jù)來進行MOCK腹尖;
2.使用server-mock或mock.js搭建模擬服務器,進行模擬測試伐脖;
3.使用XAMPP等工具热幔,編寫PHP文件來進行測試乐设。
3. 點擊按鈕,使用 ajax 獲取數(shù)據(jù)断凶,如何在數(shù)據(jù)到來之前防止重復點擊?
1.設置狀態(tài)鎖
var lock=0;//設置狀態(tài)鎖
oBtn.addEventListener("click",function () {
if (lock===0) {
lock=1;//關鎖
//to do 執(zhí)行代碼
lock=0; //開鎖
}
})
2.限制一定的時間內重復提交
var oBtn=document.querySelector(".button");
var clockTime=null;
oBtn.addEventListener("click",function(){
if(clockTime){
clearTimeout(clockTime)
}
clockTime=setTimeout(function(){
//to do
},5000)
})
//5000毫秒內提交一次 重復點擊重新計時