1.ajax 是什么?有什么作用延曙?
AJAX(Asynchronous JavaScript and XML)是一種技術(shù)方案陷寝,依賴的是現(xiàn)有的CSS/HTML/Javascript,而其中最核心的依賴是瀏覽器提供的XMLHttpRequest對(duì)象坯汤,是這個(gè)對(duì)象使得瀏覽器可以發(fā)出HTTP請(qǐng)求與接收HTTP響應(yīng)怠蹂。所以我用一句話來總結(jié)兩者的關(guān)系:我們使用XMLHttpRequest對(duì)象來發(fā)送一個(gè)Ajax請(qǐng)求善延。
通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實(shí)現(xiàn)異步更新城侧。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下易遣,對(duì)網(wǎng)頁的某部分進(jìn)行更新。
2. 前后端開發(fā)聯(lián)調(diào)需要注意哪些事情嫌佑?后端接口完成前如何 mock 數(shù)據(jù)豆茫?
前后端開發(fā)聯(lián)調(diào)注意事項(xiàng):
- 約定數(shù)據(jù):有哪些需要傳輸?shù)臄?shù)據(jù),數(shù)據(jù)類型是什么
- 約定接口:確定接口名稱及請(qǐng)求和響應(yīng)的格式歧强,請(qǐng)求的參數(shù)名稱澜薄、響應(yīng)的數(shù)據(jù)格式为肮。根據(jù)這些約定整理成接口文檔
- 后端接口完成前Mock數(shù)據(jù)
mock數(shù)據(jù)方法 - 安裝xampp搭建php本地服務(wù)器
- server-mock模擬后臺(tái)數(shù)據(jù)
3.點(diǎn)擊按鈕摊册,使用 ajax 獲取數(shù)據(jù),如何在數(shù)據(jù)到來之前防止重復(fù)點(diǎn)擊?
var isDataArrive = true //使用狀態(tài)鎖颊艳,先聲明變量
...
btn.addEventListener('click',function(){
if (!isDataArrive) {
return
} //綁定事件茅特,檢查狀態(tài)鎖的狀態(tài)
...
xhr.onreadystatechange = function(){
if (xhr.readyState === 4&(xhr.status === 200 || xhr.status === 304)){
...
var isDataArrive = true} //后端傳入數(shù)據(jù)無誤忘分,狀態(tài)鎖設(shè)置為true
xhr.open('get','/loadMore?index=0&length=6',true)
xhr.send()
isDataArrive = false //向后端提交數(shù)據(jù),狀態(tài)鎖設(shè)置為false