Ajax 的初步實現(xiàn)(使用vscode+node.js+express框架)
需求: 點擊按鈕 向服務(wù)端發(fā)送一個請求 然后將服務(wù)端返回的響應(yīng)體結(jié)果在一個div中呈現(xiàn)出來 同時頁面不刷新
一、 服務(wù)端的前期準(zhǔn)備
安裝node.js https://nodejs.org/en/download/
檢驗是否安裝成功 : 在命令行輸入 node -v 按下enter 鍵之后出現(xiàn) 版本號就表明安裝成功 (圖如下)

使用 vscode安裝express (前提是你已經(jīng)成功安裝了node.js)
在 vscode 里面新建一個文件夾 文件下面包含倆個文件 一個是你的前端頁面代碼:.html另一個是準(zhǔn)備的服務(wù)端代碼 這里暫且為 server.js在目錄文件最外層 點擊在集成終端中打開

輸入 npm init 進行初始化 輸入包名后一直按 Enter 就行

5. 繼續(xù)輸入 npm i express 安裝express 框架

6.文件目錄下你會看到生成了 package-lock.json 文件 以及 node_modules 文件 此時說明你的框架安裝好了
express的基本使用 (該js文件名為 express基本使用.js):
1 .
//1. 引入express
const express = require('express');
//2. 創(chuàng)建應(yīng)用對象
const app = express();
//3. 創(chuàng)建路由規(guī)則
// request 是對請求報文的封裝
// response 是對響應(yīng)報文的封裝
app.get('/', (request, response) => {
//設(shè)置響應(yīng)
response.send('HELLO EXPRESS 1');
});
app.post('/', (request, response) => {
//設(shè)置響應(yīng)
response.send('HELLO EXPRESS 2');
});
app.all('/', (request, response) => {
//設(shè)置響應(yīng)
response.send('HELLO EXPRESS 3');
});
//4. 監(jiān)聽端口啟動服務(wù)
app.listen(8000, () => {
console.log("服務(wù)已經(jīng)啟動, 8000 端口監(jiān)聽中....");
});
在集成終端中輸入 node -express基本使用.js

3. 在瀏覽器中地址欄輸入: http://127.0.0.1:8000/ 看到如下圖 即服務(wù)端配置完成

二、 客戶端的準(zhǔn)備(前端代碼 都引用了jquery來獲取Dom元素)
點擊按鈕 向服務(wù)端發(fā)送一個請求 然后將服務(wù)端返回的響應(yīng)體結(jié)果在一個div中呈現(xiàn)出來 同時頁面不刷新
使用原生的 ajax :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>AJAX GET 請求</title>
<script src="../js/jquery-3.0.0.min.js"></script>
<style>
#result {
width: 200px;
height: 100px;
border: solid 1px red;
}
</style>
</head>
<body>
<button>發(fā)送請求</button>
<div id="result"></div>
</body>
<script>
// 1.獲取元素 給按鈕添點擊事件
$('button').on('click', function () {
// alert(1);
// 2.創(chuàng)建對象
const xhr = new XMLHttpRequest();
// 3.初始化 設(shè)置請求方式 和url
xhr.open('GET', 'http://127.0.0.1:8000/server');
// 4.發(fā)送
xhr.send();
// 5.事件綁定 處理服務(wù)器返回的結(jié)果
xhr.onreadystatechange = function () {
// readystate 是 xhr 對象中的屬性 有 0 1 2 3 4
// 判斷(4 表示服務(wù)端返回了所有的結(jié)果)
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 300) {
// 處理結(jié)果有: 行 頭 空行 體
// 1.響應(yīng)行
// 2.將響應(yīng)體 返回到客戶端頁面中
$('div').html(xhr.response);
}
}
else {
}
}
})
</script>
</html>
必須注意

三、 運行程序
在目錄文件夾右鍵在集成終端中打開 輸入: node server.js


運行 html 代碼

點擊發(fā)送請求

注: 至此 Ajax 已基本實現(xiàn) !!
為了方便執(zhí)行js腳本代碼 避免老是重復(fù)開啟窗口 我們這里 還需安裝 nodemon 安裝方式與express 一樣 在終端輸入:npm install -g nodemon

如果你不想下載jquery引入 你可以在網(wǎng)頁上輸入 bootcdn https://www.bootcdn.cn/



注:為了防止報錯前面添加 crossorign="anonymous"
以上就是Ajax 的初步實現(xiàn)(使用vscode+node.js+express框架)的詳細(xì)內(nèi)容,更多關(guān)于Ajax初步實現(xiàn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Ajax與mysql數(shù)據(jù)交互制作留言板功能(全)
這篇文章主要為大家詳細(xì)介紹了Ajax與mysql數(shù)據(jù)交互,實現(xiàn)留言板功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Ajax修改數(shù)據(jù)即時顯示篇實現(xiàn)代碼
上一篇我們講了如何使用ajax向數(shù)據(jù)庫添加數(shù)據(jù),今天我們要大家學(xué)習(xí)的課程是:使用ajax修改數(shù)據(jù)庫數(shù)據(jù),并在客戶網(wǎng)頁立即顯示新的內(nèi)容.當(dāng)然在修改的過程中同樣不會有刷新網(wǎng)頁的情況發(fā)生!2010-10-10
AJAX和三層架構(gòu)實現(xiàn)分頁功能具體思路及代碼
本文涉及到AJAX和三層架構(gòu)方面的知識,在學(xué)習(xí)分頁的同時也鞏固了一下它們的相關(guān)知識,適合初學(xué)者的你2013-05-05
jquery ajax實現(xiàn)批量刪除具體思路及代碼
回調(diào)函數(shù),在請求完成后需要進行的操作:此處是把選中的checkbox去掉,接下來為大家詳細(xì)介紹下,感興趣的朋友可以參考下哈,希望對你有所幫助2013-04-04
基于Ajax的formData圖片和數(shù)據(jù)上傳
這篇文章主要為大家詳細(xì)介紹了基于Ajax的formData圖片和數(shù)據(jù)上傳相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05

