用Express搭建服務(wù)器
之前一直是用axios請求rap2模擬的接口,想試著用express自己寫一個簡單的,然后連下MySQL數(shù)據(jù)庫。
0、準(zhǔn)備工作
-
安裝node
-
初始化項(xiàng)目:新建一個文件夾,在里面
npm init -y
-
安裝express
npm install express
-
新建
www.js
文件,把這段代碼寫進(jìn)去,然后直接node www.js
啟動服務(wù),然后在瀏覽器訪問http://localhost:3000
就可以看到后端返回的Hello World!
啦。
const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) })
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
2、前端axios.get請求
3、前端axios.get請求的跨域問題
-
第2節(jié)介紹了如何用axios請求后臺服務(wù),但是在本地訪問上面的
http://localhost:3000
,如果不是同一端口的話會出現(xiàn)跨域不能請求的問題。解決方法是在www.js
文件中加上下面這段:
app.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); next(); });
-
這樣你就可以在本地其他端口的項(xiàng)目上訪問3000端口啦
4、后端post接口
app.post('/post', (req, res) => { console.log(JSON.stringify(req.body)); res.send('ok'); });
5、前端axios.post請求
axios.post(`http://localhost:3000/post`, "向后端發(fā)送的數(shù)據(jù)").then(res => { console.log("后端返回的數(shù)據(jù)res=>", res); });
-
這樣你在前端就可以向后端發(fā)送請求信息,后端接收并驗(yàn)證之后再把數(shù)據(jù)返回給前端就好了。
-
但是,這樣還是會有點(diǎn)問題,
第6節(jié)
解決。
-
express沒有內(nèi)置的POST請求API,但是有聽說將body-parser(詳情) 內(nèi)置到express中了。但是我試了直接使用不了。所以還是直接安裝第三方包
-
使用第三方包body-parser
npm i body-parser
-
app.js
const bodyParser=require('body-parser') app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json())
-
至此使用express搭建的簡易服務(wù)器就好了,后續(xù)可以再連接數(shù)據(jù)庫進(jìn)行增刪查改。
轉(zhuǎn)載整合自(文中鏈接) 參考鏈接:
Express 中文網(wǎng)
在express中獲取post請求數(shù)據(jù)(原文鏈接)
body-parser(詳情)
藍(lán)藍(lán)設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請掃碼藍(lán)小助,報下信息,藍(lán)小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
轉(zhuǎn)自:csdn
免責(zé)聲明:藍(lán)藍(lán)設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
藍(lán)藍(lán)設(shè)計( m.yvirxh.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)