標籤:

Ajax進行中。。

來自度娘:

Ajax 即「Asynchronous Javascript And XML」(非同步 JavaScript 和 XML),是指一種創建互動式網頁應用的網頁開發技術。

Ajax = 非同步 JavaScript 和 XML(標準通用標記語言的子集)。

Ajax 是一種用於創建快速動態網頁的技術。

Ajax 是一種在無需重新載入整個網頁的情況下,能夠更新部分網頁的技術

通過在後台與伺服器進行少量數據交換,Ajax 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。

個人理解:

傳統的網頁(不使用 Ajax)如果需要更新內容,必須重載整個網頁頁面。(同步)

ajax是實現瀏覽器和伺服器的通信的方式 (非同步的)

所以需要伺服器,可以在電腦虛擬一個伺服器 :

這裡需要用到nodejs,如果安裝了php或者python,也ok,因為他們自帶了http-server。

http-server是一個簡單的零配置命令行http伺服器,他對於生產使用來說足夠強大,他是簡單和可刪節足以用於測試,足夠簡單易用,而且可用於本地開發

1、首先你要安裝node 先下載

Node.js

選擇符合系統的版本,一直點下一步就ok

2、然後可以通過npm來全局安裝

先確認是否安裝好 npm -v

安裝server --global 安裝到電腦全局 即安裝本地虛擬伺服器

然後再文件目錄下 按shift+右鍵 打開命令行 輸入 http-server 啟動伺服器

給出了兩個地址,兩個都可以,第一個是本地,第二個是本機所在的區域網。

#bug 遇到404問題是因為沒有網頁圖標,在頁面中給個圖標就ok

<link rel="shortcut icon" href="img/1519364018(1).png">

#瀏覽器有跨域請求的安全限制,所以用本地文件打開的,無法用到ajax

cdn可以是因為人家在服務端允許我們調用他們的公共資源

頁面打開後說明連接成功,就ok了。

下面實現一個小效果:

點擊按鈕,出現卡片

再點一次,卡片消失

為加快下載速度,卡片只需要載入一次

1.在index.html加入jquery的鏈接,cdn或者下載到本地,用min. 即壓縮版的,內容不變但載入更快,在其後加上效果的js文件,因為要載入完jquery,才能使用它裡面的對象和方法。

<script src="js/jQuery.min.js"></script>

<script src="js/main.js"></script>

2.

//主頁面,排版我就盡量簡單一點

<body> <h1>Yo.</h1> <div id="trigger" stylex="background: #bbb;width: 100px;height: 50px;text-align: center;font-size:25px;line-height: 50px;">關於ajax</div> <div stylex="display: none;" id="card"></div></body>

//選擇頁面中的按鈕

//選擇卡片

//記錄是否發送請求的狀態 var loaded

//底下這裡監聽事件: 當按鈕點擊時執行出現卡片; 否則卡片不可見的,並判斷有沒有載入過card1.html,沒有則載入否則直接隱藏.

//這裡用到判斷狀態,slideUp()和slideDown(),就不需要用card.toggle()

//card.toggle();//切換show()和hide( )

var trigger = $("#trigger");var card = $("#card");var loaded=false;trigger.click(function(){ event.preventDefault(); //非同步請求 //只載入一次 通過狀態來判斷 console.log(loaded); if (card.is(:visible)) { card.slideUp(); } else { if (!loaded) { card.load("./card1.html"); loaded=true; } card.slideDown(); console.log(loaded); }});

看頁面效果,右擊打開檢查,點開network,查看載入了哪些文件

點擊後

打開XHR ,無論點擊多少次,card1.html都只載入一次

ajax基本入門到此。

接下來就可以通過ajax做更完善的web項目,後續會繼續更新。


推薦閱讀:

低仿vue-async-computed
從process.versions了解Node.js的構成
發布 umi 1.0 ??????
看別人吵架對你來說應該是好事兒
把網頁導出為圖片的兩種方案以及其適用場景

TAG:前端開發 |