NodeJS獲取GET請求
使用NodeJS獲取GET請求盯滚,主要是通過使用NodeJS內(nèi)置的querystring
庫處理req.url
中的查詢字符串來進行悴了。
- 通過
?
將req.url
分解成為一個包含path
和query
字符串的數(shù)組 - 通過
querystring.parse()
方法墩剖,對格式為key1=value1&key2=value2
的查詢字符串進行解析,并將其轉(zhuǎn)換成為標準的JS對象
const http = require('http')
const querystring = require('querystring')
let app = http.createServer((req, res) => {
let urlArray = req.url.split('?')
req.query = {}
if (urlArray && urlArray.length > 0) {
if (urlArray[1]) {
req.query = querystring.parse(urlArray[1])
}
}
res.end(
JSON.stringify(req.query)
)
})
app.listen(8000, () => {
console.log('running on 8000')
})
NodeJS獲取POST數(shù)據(jù)
NodeJS獲取POST數(shù)據(jù)勾栗,主要是通過響應(yīng)req
的data
事件和end
事件來進行
- 通過
req.on('data')
狰晚,并傳入回調(diào)函數(shù),響應(yīng)數(shù)據(jù)上傳的事件狼纬,并對數(shù)據(jù)進行收集 - 通過
req.on('end')
羹呵,并傳入回調(diào)函數(shù),響應(yīng)數(shù)據(jù)上傳結(jié)束的事件疗琉,并判斷是否存在上傳數(shù)據(jù)列粪。如果存在纽门,就執(zhí)行后面的邏輯欢揖。
// NodeJS獲取POST請求
const http = require('http')
let app = http.createServer((req, res) => {
let postData = ''
req.on('data', chunk => {
postData += chunk.toString()
})
req.on('end', () => {
if (postData) {
res.setHeader('Content-type', 'application/json')
res.end(postData)
}
console.log(JSON.parse(postData))
})
})
app.listen(8000, () => {
console.log('running on 8000')
})