NodeJS获取GET和POST请求
2021-04-22 07:27
标签:creat serve span query 格式 js对象 逻辑 获取 head 使用NodeJS获取GET请求,主要是通过使用NodeJS内置的 NodeJS获取POST数据,主要是通过响应 https://www.jianshu.com/p/683894636e72 NodeJS获取GET和POST请求 标签:creat serve span query 格式 js对象 逻辑 获取 head 原文地址:https://www.cnblogs.com/yyy1234/p/12244780.htmlquerystring
库处理req.url
中的查询字符串来进行。
?
将req.url
分解成为一个包含path
和query
字符串的数组querystring.parse()
方法,对格式为key1=value1&key2=value2
的查询字符串进行解析,并将其转换成为标准的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数据
req
的data
事件和end
事件来进行
req.on(‘data‘)
,并传入回调函数,响应数据上传的事件,并对数据进行收集req.on(‘end‘)
,并传入回调函数,响应数据上传结束的事件,并判断是否存在上传数据。如果存在,就执行后面的逻辑。
// 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‘)
})
get和post合并
const url = require(‘url‘);
const http = require(‘http‘);
const server = http.createServer((req, res) => {
if (req.method === ‘GET‘) {
let urlObj = url.parse(req.url, true);
res.end(JSON.stringify(urlObj.query))
} else if (req.method === ‘POST‘) {
let postData = ‘‘;
req.on(‘data‘, chunk => {
postData += chunk;
})
req.on(‘end‘, () => {
console.log(postData)
})
res.end(JSON.stringify({
data: ‘请求成功‘,
code: 0
}))
}
})
server.listen(3000, () => {
console.log(‘监听3000端?‘)
console.log(1111)
console.log(22)
}
下一篇:css字体样式+文本样式
文章标题:NodeJS获取GET和POST请求
文章链接:http://soscw.com/index.php/essay/77968.html