欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node.js中實(shí)現(xiàn)GET和POST請(qǐng)求的代碼示例

 更新時(shí)間:2024年12月09日 11:37:14   作者:小灰灰學(xué)編程  
在很多場(chǎng)景中,我們的服務(wù)器都需要跟用戶的瀏覽器打交道,如發(fā)送驗(yàn)證碼、登錄表單提交,請(qǐng)求服務(wù)器數(shù)據(jù)一般都使用GET請(qǐng)求,表單提交到服務(wù)器一般都使用POST請(qǐng)求,本文詳細(xì)介紹了在Node.js中如何處理GET和POST請(qǐng)求,需要的朋友可以參考下

創(chuàng)建基本的服務(wù)器

const express = require('express');
const indexRouter = require('./router'); // 引入路由
const app = express();
const port = 3000;
// 掛載路由
app.use('/api', indexRouter);
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

創(chuàng)建路由文件

const express = require('express');
const router = express.Router();

module.exports = router;

實(shí)現(xiàn)GET請(qǐng)求

// 處理GET請(qǐng)求
router.get('/get', (req, res) => {
  // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
  const query = req.query;
  console.log(query, 'query')
  res.send({
    code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
    msg: 'GET請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
    data: query, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
  });
});

實(shí)現(xiàn)POST請(qǐng)求

方式1:form-data,Express默認(rèn)不會(huì)解析form-data,因?yàn)樗ǔS糜谖募蟼?,需要額外的處理。你可以使用multer這個(gè)中間件來(lái)處理multipart/form-data(也就是form-data)類型的請(qǐng)求。multer是專門(mén)為Express設(shè)計(jì)的,用于處理多部分/表單數(shù)據(jù),這包括上傳文件。

// 設(shè)置multer存儲(chǔ)選項(xiàng)(這里只是演示,實(shí)際上你可能需要配置磁盤(pán)存儲(chǔ)或其他選項(xiàng))
const storage = multer.memoryStorage(); 
const upload = multer({ storage: storage });
// 處理POST請(qǐng)求
router.post('/upload', upload.single('file'), (req, res) => {
   // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
   const body = req.body;
   console.log(body, 'body')
   res.send({
     code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
     msg: 'POST請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
     data: body, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
   });
});

方式2:urlencoded,想要獲取url-encoded請(qǐng)求體的數(shù)據(jù),需要引入對(duì)應(yīng)的中間件。

// 配置解析表單數(shù)據(jù)的中間件
app.use(express.urlencoded({extended: false}))
// 處理POST請(qǐng)求
router.post('/post', (req, res) => {
  // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
  const body = req.body;
  console.log(body, 'body')
  res.send({
    code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
    msg: 'POST請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
    data: body, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
  });
});

全部代碼

index.js

const express = require('express');
const indexRouter = require('./router'); // 引入路由
const app = express();
const port = 3000;
// 配置解析表單數(shù)據(jù)的中間件
app.use(express.urlencoded({extended: false}))
// 掛載路由
app.use('/api', indexRouter);
// 啟動(dòng)服務(wù)器
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

router.js

const express = require('express');
const multer = require('multer');
const router = express.Router();
// 設(shè)置multer存儲(chǔ)選項(xiàng)(這里只是演示,實(shí)際上你可能需要配置磁盤(pán)存儲(chǔ)或其他選項(xiàng))
const storage = multer.memoryStorage(); // 使用內(nèi)存存儲(chǔ),適用于小文件或不需要持久化的場(chǎng)景
const upload = multer({ storage: storage });
// 處理GET請(qǐng)求
router.get('/get', (req, res) => {
  // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
  const query = req.query;
  console.log(query, 'query')
  res.send({
    code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
    msg: 'GET請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
    data: query, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
  });
});
// 處理POST請(qǐng)求
router.post('/upload', upload.single('file'), (req, res) => {
   // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
   const body = req.body;
   console.log(body, 'body')
   res.send({
     code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
     msg: 'POST請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
     data: body, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
   });
});
// 處理POST請(qǐng)求
router.post('/post', (req, res) => {
  // 通過(guò) req.query 客戶端發(fā)送到服務(wù)器的數(shù)據(jù)
  const body = req.body;
  console.log(body, 'body')
  res.send({
    code: 0, // 0: 請(qǐng)求成功  -1: 請(qǐng)求失敗
    msg: 'POST請(qǐng)求成功', // 請(qǐng)求的狀態(tài)描述
    data: body, // 服務(wù)器像客戶端返回?cái)?shù)據(jù)
  });
});
module.exports = router;

到此這篇關(guān)于node.js中實(shí)現(xiàn)GET和POST請(qǐng)求的代碼示例的文章就介紹到這了,更多相關(guān)node.js實(shí)現(xiàn)GET和POST請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例

    nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例

    下面小編就為大家?guī)?lái)一篇node js系列課程-創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫(xiě)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解

    測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解

    這篇文章主要為大家介紹了測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • nvm管理node無(wú)法正常切換node版本問(wèn)題的解決方法

    nvm管理node無(wú)法正常切換node版本問(wèn)題的解決方法

    相信一定會(huì)有存在一些小伙伴 明明都已經(jīng)按著操作卸載node 和安裝nvm 了但是 依舊無(wú)法正常通過(guò)nvm管理node,本文將給大家介紹nvm管理node無(wú)法正常切換node版本問(wèn)題的解決方法,需要的朋友可以參考下
    2024-01-01
  • Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法

    Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法

    本篇文章主要介紹了Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • node.js實(shí)現(xiàn)帶進(jìn)度條的多文件上傳

    node.js實(shí)現(xiàn)帶進(jìn)度條的多文件上傳

    這篇文章主要為大家詳細(xì)介紹了node.js實(shí)現(xiàn)攜帶進(jìn)度條的多文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Express+Nodejs 下的登錄攔截實(shí)現(xiàn)代碼

    Express+Nodejs 下的登錄攔截實(shí)現(xiàn)代碼

    本篇文章主要介紹了Express+Nodejs 下的登錄攔截實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 解決Mac node版本升級(jí)失敗的問(wèn)題

    解決Mac node版本升級(jí)失敗的問(wèn)題

    今天小編就為大家分享一篇解決Mac node版本升級(jí)失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • NodeJS處理Express中異步錯(cuò)誤

    NodeJS處理Express中異步錯(cuò)誤

    本文主要闡述如何在 Express 中使用錯(cuò)誤處理中間件(error-handling middleware)來(lái)高效處理異步錯(cuò)誤。在 Github 上有對(duì)應(yīng) 代碼實(shí)例 可供參考。
    2017-03-03
  • 詳解Node.js中的Async和Await函數(shù)

    詳解Node.js中的Async和Await函數(shù)

    這篇文章主要介紹了Node.js中的Async和Await函數(shù)的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 在windows上用nodejs搭建靜態(tài)文件服務(wù)器的簡(jiǎn)單方法

    在windows上用nodejs搭建靜態(tài)文件服務(wù)器的簡(jiǎn)單方法

    這篇文章主要介紹了在windows上用nodejs搭建靜態(tài)文件服務(wù)器的簡(jiǎn)單方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08

最新評(píng)論