日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nodejs教程08:同时处理GET/POST请求

發(fā)布時間:2023/11/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nodejs教程08:同时处理GET/POST请求 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

示例代碼請訪問我的GitHub: github.com/chencl1986/…

同時處理GET/POST請求

通常在開發(fā)過程中,同一臺服務(wù)器需要接收多種類型的請求,并區(qū)分不同接口,向客戶端返回數(shù)據(jù)。

最常用的方式,就是對請求的方法、url進行區(qū)分判斷,獲取到每個請求的數(shù)據(jù)后,統(tǒng)一由一個回調(diào)函數(shù)進行處理。

如下示例代碼,可以在/lesson08/form_get.html和/lesson08/form_post.html中,通過提交表單查看效果。

示例代碼:/lesson08/server.js

const http = require('http') const url = require('url') const querystring = require('querystring')const server = http.createServer((req, res) => {// 定義公共變量,存儲請求方法、路徑、數(shù)據(jù)const method = req.methodlet path = ''let get = {}let post = {}// 判斷請求方法為GET還是POST,區(qū)分處理數(shù)據(jù)if (method === 'GET') {// 使用url.parse解析get數(shù)據(jù)const { pathname, query } = url.parse(req.url, true)path = pathnameget = querycomplete()} else if (method === 'POST') {path = req.urllet arr = []req.on('data', (buffer) => {// 獲取POST請求的Buffer數(shù)據(jù)arr.push(buffer)})req.on('end', () => {// 將Buffer數(shù)據(jù)合并let buffer = Buffer.concat(arr)// 處理接收到的POST數(shù)據(jù)post = querystring.parse(buffer.toString())complete()})}// 在回調(diào)函數(shù)中統(tǒng)一處理解析后的數(shù)據(jù)function complete() {console.log(method, path, get, post)} })server.listen(8080) 復(fù)制代碼

總結(jié)

以上是生活随笔為你收集整理的Nodejs教程08:同时处理GET/POST请求的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。