1. 創建 XMLHttpRequest 對象,也就是創建一個異步調用對象
2. 創建一個新的 HTTP 請求,并指定該 HTTP 請求的方法、URL 及驗證信息
3. 設置響應 HTTP 請求狀態變化的函數
4. 發送 HTTP 請求
你使用過哪些ajax?
從原生的XHR到jquery ajax,再到現在的axios和fetch。
axios和fetch都是基于Promise的,一般我們在使用時都會進行二次封裝
講到fetch跟jquery ajax的區別,這也是它很奇怪的地方
當接收到一個代表錯誤的 HTTP 狀態碼時,從 fetch()返回的 Promise 不會被標記為 reject, 即使該 HTTP 響應的狀態碼是 404 或 500。相反,它會將 Promise 狀態標記為 resolve (但是會將 resolve 的返回值的 ok 屬性設置為 false ), 僅當網絡故障時或請求被阻止時,才會標記為 reject。 默認情況下, fetch 不會從服務端發送或接收任何 cookies, 如果站點依賴于用戶 session,則會導致未經認證的請求(要發送 cookies,必須設置 credentials 選項)
- 介紹
- 原生JS
- 1.ES6的新特性
- 2.JS的數據類型
- 3.定義函數的方法
- 4.JS作用域的理解
- 5.閉包的理解
- 6.數組去重
- 7.原型及原型鏈
- 8.Object.create的作用
- 9.new的執行過程是怎么回事
- 10.call,apply,bind三者的區別
- 11.實現類的繼承
- 12.談談你對this指向的理解
- 13.DOM
- 14.JS的異步編程
- 15.正則
- http&ajax
- 1.TCP/IP的三次握手和四次揮手
- 2.http常用狀態碼(http-status-code):
- 3.從瀏覽器輸入URL按回車到頁面顯示都發生了什么?
- 4.HTTPS和HTTP的區別
- 5.瀏覽器緩存?
- 6.ajax四步
- 7.一般我們再攔截器中都會寫什么代碼?
- 8.get請求和post請求有什么區別?什么時候使用post?
- 9.Cookie 和 Session 的區別?
- 10.Token 相關
- 11.什么是同源策略?