前端面試題總結(jié)【48】:Ajax 是什么?Ajax 的交互模型?同步和異步的區(qū)別?如何解決跨域問題?

Ajax 是什么:

  1. 通過異步模式,提升了用戶體驗(yàn)
  2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用
  3. Ajax 在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,減少了大用戶量下的服務(wù)器負(fù)載。

Ajax 的最大的特點(diǎn):

  1. Ajax可以實(shí)現(xiàn)動(dòng)態(tài)不刷新(局部刷新)
  2. readyState 屬性 狀態(tài) 有5個(gè)可取值: 0 = 未初始化,1 = 啟動(dòng), 2 = 發(fā)送,3 = 接收,4 = 完成

Ajax 同步和異步的區(qū)別:

  1. 同步:提交請求 -> 等待服務(wù)器處理 -> 處理完畢返回,這個(gè)期間客戶端瀏覽器不能干任何事
  2. 異步:請求通過事件觸發(fā) -> 服務(wù)器處理(這是瀏覽器仍然可以作其他事情)-> 處理完畢
    ajax.open方法中,第3個(gè)參數(shù)是設(shè)同步或者異步。

Ajax 的缺點(diǎn):

  1. Ajax 不支持瀏覽器 back 按鈕
  2. 安全問題 Ajax 暴露了與服務(wù)器交互的細(xì)節(jié)
  3. 對搜索引擎的支持比較弱
  4. 破壞了程序的異常機(jī)制
  5. 不容易調(diào)試

解決跨域問題:

  1. jsonp
  2. iframe
  3. window.name、window.postMessage
  4. 服務(wù)器上設(shè)置代理頁面

推薦:

  • 持續(xù)更新,致力于做一個(gè)持久的搬運(yùn)工!
  • 下面是已經(jīng)整理好的面試題PDF獲取和相關(guān)進(jìn)階學(xué)習(xí)書籍資料地址,有需求戳一下
  • 2020前端面試題總結(jié)合集
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容