1. 程式人生 > 資訊 >三星 S21 系列國行手機開始推送 One UI 4.1 正式版更新:遊戲初始時不限制 CPU / GPU 效能...(附更新內容大全)

三星 S21 系列國行手機開始推送 One UI 4.1 正式版更新:遊戲初始時不限制 CPU / GPU 效能...(附更新內容大全)

ajax

Ajax是什麼,如何建立一個Ajax?

全稱: Asynchronous JavaScript And XML 非同步傳輸 + js + xml 也就是向伺服器傳送請求時,不必等待結果,而是可以同時做其他事情 等到有結果了它會自己根據設定進行後續操作 於此同時,頁面不會整體重新整理,提高了使用者體驗

建立:

1.建立一個XMLHttpRequest物件,也就是建立一個非同步呼叫物件2.建立一個新的Http請求,並指定該HTTP請求的方法,url以及驗證資訊3.設定響應HTTP請求狀態變化的函式4.傳送HTTP請求5.獲取非同步呼叫返回的資料6.使用js和dom實現區域性重新整理

Ajax如何解決瀏覽器快取問題?

ajax請求中,只有get請求會有快取

解決方案

1.ajax請求前加上:ajaxObj.setRequestHeader('If-Modified-Since', '0');2.ajax請求前加上:ajaxObj.setRequestHeader('Cache-Control', 'no-cache');3.URL後面加上一個隨機數: "random=" + Math.random();4.同理在url後面加上時間戳: "nowtime=" + (new Date()).getTime();5.jq中,可以: $.ajaxSetup({cache: false});

fetch與ajax

Ajax的本質是使用XMLHttpRequest物件來請求資料

fetch 是全域性量 window 的一個方法,它的主要特點有:

第一個引數是URL:

第二個是可選引數,可以控制不同配置的 init 物件

使用了 JavaScript Promises 來處理結果/回撥:

fetch()返回的 Promise 將不會拒絕HTTP錯誤狀態, 即使響應是一個 HTTP 404 或 500。 相反,它會正常解決 (其中ok狀態設定為false), 並且僅在網路故障時或任何阻止請求完成時,它才會拒絕。

預設情況下, fetch在服務端不會發送或接收任何 cookies, 如果站點依賴於維護一個使用者會話,則導致未經認證的請求(要傳送 cookies,必須傳送憑據頭).

對於CORS請求,使用include值允許將憑據傳送到其他域:

 

ajax跨域

如何解決跨域問題?

ajax跨域一般是用jsonp(old)或者(cors)方案-需要後臺進行配合配置

或者用websocket等請求來進行資料互動

另外window.postMessage也可跨域跨視窗傳遞訊息(應該屬於巨集任務級別)