🥜 前情提要

了解JavaScript的缺陷和解決方案後,我們要寫JavaScript必定不是從0開始,所以可以使用一些知名套件輔助實作

jQuery:

而在前端開發過程中,免不了使用一個函示庫,jQuery你可以把它當作API或是第三方庫來使用,主要業務內容是 簡化HTML與JavaScript之間的操作,可至官方網站進行下載該庫: Jquery
根據維基百科jQuery採用工廠模式設計,所以凡是看到:$. 都是呼叫jQuery的函式,在以前前端世界如果你沒用過jQuery那就不能叫做前端,因為這個庫太好用了,但是最近jQuery也不見得是必要的函示庫,因為有其他框架比他高效、有用,但是其設計概念很值得參考。

以上是jQuery提供的函示庫,此處就不再進行介紹,詳情請參考:https://www.w3school.com.cn/jquery/event_click.asp
後續介紹的AJAX將會使用jQuery來當作實 作範例。

AJAX:

要解釋AJAX是什麼我們先釐清在AJAX出現之前,前端到底是長怎樣

AJAX出現前:假設今天你在看股票網站,而股票大盤每一秒都在變化,如果你要看最新的大盤訊息,你就必須重新整理頁面才能看到最新的資料。

AJAX出現後:假設今天你在看股票網站,而股票大盤每一秒都在變化,而大盤畫面就會自動變化,你也不用重新整理頁面來刷新。

所以從上述可以得知AJAX是可以解決即時更動介面及內容,不需要重新讀取整個網頁,讓程式更快回應使用者的操作,全因為他可以在不重新加載就可以跟Server通信以及動態更新畫面。

其全名為 異步 JavaScript 及 XML(Asynchronous JavaScript and XML,AJAX)。

最初微軟意識到這問題,於是開發了ActiveXObject給開發者使用,用了才知道原來這麼好用,很多開發者以此API開發了諸多著名軟體 Gmail就是其中一個AJAX應用代表,於是其他瀏覽器廠商也跟風發開發起類似接口,但是為了相容性,總不可能這功能在IE叫做ActiveXObject,而在火狐又叫做另一個名稱,這樣工程師還不發飆給你看,於是W3C組織開始統一為XMLHttpRequest,但是早期的瀏覽器像是IE 還是叫做 ActiveXObject,於是就有了以下寫法:

1
2
3
4
5
if (window.XMLHttpRequest) { // 如果當前支援W3C制定的標準名稱XMLHttpRequest的話 (其瀏覽器:Mozilla, Safari, IE7+ ...)
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // 如果當前不支援XMLHttpRequest,那判斷是否為支援ActiveXObject (其瀏覽器:IE 6 and older)
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}