通俗易懂之Ajax

2021-10-02 03:50:20 字數 1272 閱讀 8776

在網頁載入的時候,載入的都是靜態的資源,你寫的每一句話,每乙個結構都是固定的,比如在哪個區域顯示哪張,頁面渲染之後都無法在改變,想要改變就只有改**,然後在重新整理頁面。而ajax可以讓我們在**執行的時候,去請求其他地方的資源或者介面,然後把請求來的資料,根據我們寫好的方法渲染到頁面上,多次進行ajax請求,我們就可以實現動態的頁面,從而可以根據使用者的操作,來進行更方便的互動。

非同步與伺服器通訊

ajax使用非同步的方式和伺服器通訊,不需要打斷使用者的操作,具有更加迅速的響應能力,優化了browser和server的溝通,減少不必要的資料傳輸、時間及降低網路上的資料流量。

前端和後端負載平衡。

ajax可以把一些伺服器的工作轉嫁到客戶端,利用客戶端閒置的能力來處理,減輕伺服器和頻寬的負擔,節約空間和寬頻租用成本。

1.ajax由於機制的原因,導致瀏覽器頁面在動態更新的前提下,沒辦法通過後退按鈕來回到上乙個頁面狀態,因為乙個已經載入好的靜態頁面和乙個動態更新的頁面的差別是很微妙的,瀏覽器沒辦法把每一次使用者在頁面上的操作都寫入歷史記錄,所以使用者無法通過後退來撤回自己的上一步操作,這個問題雖然可以解決,但是只能治標不能治本,因為這屬於ajax的機制問題。

2.安全問題,在頁面上使用ajax技術相當於在頁面和企業的資料庫之間建立了乙個通道,這個通道可能會被黑客攻擊,從而盜取資料庫上的某些資訊。

3.ajax不能很好地支援移動裝置(手機、平板電腦之類的)。

4.編寫複雜,冗餘過多,這背離了web的初衷。

1.對某些資料進行分類過濾和操作。

2.深層次的樹狀導航(樹形圖)。

3.投票選項之類的對整體頁面無關痛癢的部分。

4.普通的文字提示等。

雖然現在網路上已經有各種各樣方便使用的ajax工具,但是它的原生寫法還是需要掌握的,這方便我們去了解它。

1.建立物件

2.連線後台

xhr.open(type,url,true) /*open方法有三個引數

type 請求方式(get/post)

url 請求位址(介面位址)

true/false true代表非同步請求

false代表同步請求 使用false的話瀏覽器會警報;

不建議在主線程上使用同步xmlhttprequest,因為會破壞使用者體驗*/

3.傳送

xhr.send();

4.事件

xhr.onreadystatechange=function()

}

通俗易懂之Ajax 二

我們常用的請求方式有get請求和post請求,其中get請求一般是用來獲取資料的,post請求一般是上傳資料的。function get url,callback 上面的if 也可以簡寫成邏輯運算子的短路操作 callback callback xhr.responsetext function p...

numpy bincount 通俗易懂

bincount的用途很簡單,就是統計出乙個列表的各個元素的出現次數。例如輸入是 1,0,2,2,1,2,3,5 那麼輸出就是 1,2,3,1,0,1 這樣的結果可能並不是很直觀,可能依然會有同學會問為什麼會輸出這樣的結果。我們看看 假如我們把輸入的列表中的數字都統計一遍,形成乙個字典 key是列表...

裝飾者模式之通俗易懂

一句話 需要包裝,但不改變本質 同宗同源 在不改變原有物件的基礎之上,將功能附加到物件上。提供了比繼承更有彈性的替代方案 擴充套件原有物件功能 特點 1 注重覆蓋 擴充套件。2 裝飾器和被裝飾器都實現同乙個介面,主要目的是為了擴充套件之後依舊保留 oop 關係 同宗同源 3 滿足 is a 的關係。...