摘要:什么是如何創(chuàng)建一個異步在后臺與服務(wù)器進行異步數(shù)據(jù)交換,不用重載整個網(wǎng)頁,實現(xiàn)局部刷新。除此之外,擁有等方法,不像需要前端開發(fā)者自己封裝,。
什么是 Ajax? 如何創(chuàng)建一個Ajax?
AJAX(Asynchronous Javascript And XML) = 異步 JavaScript + XML 在后臺與服務(wù)器進行異步數(shù)據(jù)交換,不用重載整個網(wǎng)頁,實現(xiàn)局部刷新。
創(chuàng)建 ajax 步驟:
1.創(chuàng)建 XMLHttpRequest 對象
2.創(chuàng)建一個新的 HTTP 請求,并指定該 HTTP 請求的類型、驗證信息
3.設(shè)置響應(yīng) HTTP 請求狀態(tài)變化的回調(diào)函數(shù)
4.發(fā)送 HTTP 請求
5.獲取異步調(diào)用返回的數(shù)據(jù)
6.使用 JavaScript 和 DOM 實現(xiàn)局部刷新
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) { fn.call(this, xhr.responseText); }
};
xhr.send(data);
共同點:都是保存在瀏覽器端、且同源的
區(qū)別:
1、cookie數(shù)據(jù)始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和服務(wù)器間來回傳遞,而sessionStorage和localStorage不會自動把數(shù)據(jù)發(fā)送給服務(wù)器,僅在本地保存。cookie數(shù)據(jù)還有路徑(path)的概念,可以限制cookie只屬于某個路徑下
2、存儲大小限制也不同,cookie數(shù)據(jù)不能超過4K,同時因為每次http請求都會攜帶cookie、所以cookie只適合保存很小的數(shù)據(jù),如會話標(biāo)識。sessionStorage和localStorage雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大
3、數(shù)據(jù)有效期不同,sessionStorage:僅在當(dāng)前瀏覽器窗口關(guān)閉之前有效;localStorage:始終有效,窗口或瀏覽器關(guān)閉也一直保存,因此用作持久數(shù)據(jù);cookie:只在設(shè)置的cookie過期時間之前有效,即使窗口關(guān)閉或瀏覽器關(guān)閉
4、作用域不同,sessionStorage不在不同的瀏覽器窗口中共享,即使是同一個頁面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的
5、web Storage支持事件通知機制,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者
6、web Storage的api接口使用更方便
Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲設(shè)計的,cookie的大小是受限的,并且每次請求一個新的頁面的時候cookie都會被發(fā)送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可跨域調(diào)用。
除此之外,web storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發(fā)者自己封裝setCookie,getCookie。
但是cookie也是不可或缺的,cookie的作用是與服務(wù)器進行交互,作為http規(guī)范的一部分而存在的,而web Storage僅僅是為了在本地“存儲”數(shù)據(jù)而生
sessionStorage、localStorage、cookie都是在瀏覽器端存儲的數(shù)據(jù),其中sessionStorage的概念很特別,引入了一個“瀏覽器窗口”的概念,sessionStorage是在同源的同窗口中,始終存在的數(shù)據(jù),也就是說只要這個瀏覽器窗口沒有關(guān)閉,即使刷新頁面或進入同源另一個頁面,數(shù)據(jù)仍然存在,關(guān)閉窗口后,sessionStorage就會被銷毀,同時“獨立”打開的不同窗口,即使是同一頁面,sessionStorage對象也是不同的
Web Storage帶來的好處:
1、減少網(wǎng)絡(luò)流量:一旦數(shù)據(jù)保存在本地之后,就可以避免再向服務(wù)器請求數(shù)據(jù),因此減少不必要的數(shù)據(jù)請求,減少數(shù)
據(jù)在瀏覽器和服務(wù)器間不必要的來回傳遞
2、快速顯示數(shù)據(jù):性能好,從本地讀數(shù)據(jù)比通過網(wǎng)絡(luò)從服務(wù)器上獲得數(shù)據(jù)快得多,本地數(shù)據(jù)可以及時獲得,再加上網(wǎng)
頁本身也可以有緩存,因此整個頁面和數(shù)據(jù)都在本地的話,可以立即顯示
3、臨時存儲:很多時候數(shù)據(jù)只需要在用戶瀏覽一組頁面期間使用,關(guān)閉窗口后數(shù)據(jù)就可以丟棄了,這種情況使用sessionStorage非常方便
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105615.html
答案自己谷歌或百度找。 一、來源背景 面試題是來自微博@??途W(wǎng)發(fā)布的真實大廠前端面經(jīng)題目,我一直在收集題目長期一個一個的記錄下來的,可能會有重復(fù),但基本前端的面試大綱和需要掌握的知識都在其中了,面試題僅做學(xué)習(xí)參考,學(xué)習(xí)者閱后也要用心鉆研其中的原理,重要知識需要系統(tǒng)學(xué)習(xí)、透徹學(xué)習(xí),形成自己的知識鏈。 二、532道前端真實大廠面試題 express和koa的對比,兩者中間件的原理,koa捕獲異常多種情...
答案自己谷歌或百度找。 一、來源背景 面試題是來自微博@??途W(wǎng)發(fā)布的真實大廠前端面經(jīng)題目,我一直在收集題目長期一個一個的記錄下來的,可能會有重復(fù),但基本前端的面試大綱和需要掌握的知識都在其中了,面試題僅做學(xué)習(xí)參考,學(xué)習(xí)者閱后也要用心鉆研其中的原理,重要知識需要系統(tǒng)學(xué)習(xí)、透徹學(xué)習(xí),形成自己的知識鏈。 二、532道前端真實大廠面試題 express和koa的對比,兩者中間件的原理,koa捕獲異常多種情...
答案自己谷歌或百度找。 一、來源背景 面試題是來自微博@??途W(wǎng)發(fā)布的真實大廠前端面經(jīng)題目,我一直在收集題目長期一個一個的記錄下來的,可能會有重復(fù),但基本前端的面試大綱和需要掌握的知識都在其中了,面試題僅做學(xué)習(xí)參考,學(xué)習(xí)者閱后也要用心鉆研其中的原理,重要知識需要系統(tǒng)學(xué)習(xí)、透徹學(xué)習(xí),形成自己的知識鏈。 二、532道前端真實大廠面試題 express和koa的對比,兩者中間件的原理,koa捕獲異常多種情...
閱讀 2069·2021-11-11 16:54
閱讀 1050·2021-10-12 10:12
閱讀 389·2019-08-30 15:43
閱讀 653·2019-08-29 13:15
閱讀 1083·2019-08-29 13:12
閱讀 1535·2019-08-26 12:09
閱讀 1663·2019-08-26 10:24
閱讀 2267·2019-08-26 10:15