一豁生、ajax 是什么判导?有什么作用嫉父?
Ajax(Asynchronous JavaScript and XML),異步 JS 和 XML眼刃。通過使用 Ajax 绕辖, 網(wǎng)頁程序能夠快速地將漸步更新呈現(xiàn)在用戶界面上,不需要重載(刷新)整個頁面擂红。這使得程序能夠更快地回應(yīng)用戶的操作仪际。而所謂異步,就是在數(shù)據(jù)請求過程中昵骤,需要等待結(jié)果树碱,為了不浪費這部分時間(也是為了又更好的交互),而采取先執(zhí)行后續(xù)代碼变秦,直到請求返回收到后成榜,再處理結(jié)果的策略。
剛開始的時候以 XML 格式傳輸數(shù)據(jù)為主蹦玫,但由于 JSON 格式又諸多優(yōu)勢赎婚,使得用 JSON 格式傳輸數(shù)據(jù)變得更加流行。因此樱溉, Ajax 的主要作用就是可以在異步且不刷新當(dāng)前頁面的前提下挣输,更新數(shù)據(jù)。
二福贞、前后端開發(fā)聯(lián)調(diào)需要注意哪些事情撩嚼?后端接口完成前如何 mock 數(shù)據(jù)?
前后端開發(fā)聯(lián)調(diào)挖帘,其實就是對接口完丽,因此,需要處理的事情就有:
- 約定接口名稱拇舀、請求類型
- 約定接口參數(shù)舰涌、數(shù)據(jù)類型
- 整合文檔
那么如何 mock (模擬真實數(shù)據(jù))數(shù)據(jù)呢?
- 直接寫假數(shù)據(jù)在靜態(tài)頁面你稚,簡單粗暴瓷耙。缺點:耦合程度高,解耦影響大刁赖。
- 使用別人線上提供的接口服務(wù)搁痛,如 easy-mock。
- 自己搭建后端環(huán)境宇弛,制作 mock-server鸡典,如 Node.js 提供路由,再用工具生成隨機 JSON 數(shù)據(jù)枪芒。這樣后端接口來時彻况,直接更換 host 就行了谁尸,零成本。
參考:你是如何構(gòu)建 Web 前端的 Mock Server | 知乎
三纽甘、點擊按鈕良蛮,使用 ajax 獲取數(shù)據(jù),如何在數(shù)據(jù)到來之前防止重復(fù)點擊?
- 點擊按鈕后悍赢,disabled 按鈕决瞳,直到 ajax 數(shù)據(jù)返回,或者其他條件達成后左权,取消限制皮胡。
- 函數(shù)節(jié)流,利用定時器延遲請求發(fā)送赏迟,再利用定時器清除來防止短時間內(nèi)的多次點擊屡贺。
參考:怎樣防止重復(fù)發(fā)送 Ajax 請求? | 知乎