1. ajax 是什么?有什么作用?
ajax:
Ajax的全稱是Asynchronous JavaScript and XML 中文名稱定義為異步的JavaScript和XML,就是不關閉不轉跳不刷新的情況下,在網頁后臺提交數據邓馒,部分更新頁面內容碴巾。
就好比要求10個人拍集體照墙杯,只來了9個配并。沒參與照相的人也想出現在照片中,該怎么辦呢高镐?
傳統(tǒng)方法:把大家再召集起來溉旋,再拍一次。
ajax:把缺席的人PS上去嫉髓。
作用:
可以節(jié)省網絡帶寬观腊,提高頁面的加載速度,從而縮短用戶等待時間算行,改善用戶體驗梧油。
2.前后端開發(fā)聯調需要注意哪些事情?后端接口完成前如何 mock 數據州邢?
前后端開發(fā)聯調需要注意事項:
- 約定數據:有哪些需要傳輸的數據儡陨,數據類型是什么;
- 約定接口:確定接口名稱及請求和響應的格式量淌,請求的參數名稱迄委、響應的數據格式;
- 根據這些約定整理成接口文檔
后端接口完成前mock數據:
可以根據接口文檔类少,使用假數據來驗證我們制作的頁面響應和接口是否正常∮嬖可以搭建php本地服務器用硫狞,php寫腳本提供臨時數據;也可使用Mock.js晃痴,它能攔截ajax請求并根據請求中的內容來隨機生成符合你要求的假數據残吩,模擬后端環(huán)境讓你完成對頁面和接口的測試。+
3. 點擊按鈕倘核,使用 ajax 獲取數據泣侮,如何在數據到來之前防止重復點擊?
基礎方法:
- 點擊提交后,將按鈕disabled掉紧唱,等請求結束了沒再置回來
- 在外部設置一個狀態(tài)鎖:
var status = false
btn.onclick = function (){
if(!status){
status = true
var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function(){
if( xhr.readyState == 4 ){
// to do
status = false
}
}
}
xhr.open('get','xxx/?')
xhr.send()
}
還可以:
- 無限制的提交活尊,但是以最后一次操作為準
- 無論提交如何頻繁,任意兩次有效提交的間隔時間必定會大于或等于某一時間間隔漏益;即以一定頻率提交
- 任意兩次提交的間隔時間蛹锰,必須大于一個指定時間,才會促成有效提交
參考文章