丁鹿学堂:原生nodejs简单实现http响应

nodeJS处理get请求

get请求是前端要像后端去索取一些内容的时候使用的。
querystring是node内置的方法,通过它可以很方便处理前端get请求携带的参数。

const http = require('http')
const querystring = require('querystring')
const server = http.createServer((req,res)=>{
   const url = req.url
   req.query = querystring.parse(url.split('?')[1])
   res.end(JSON.stringify(req.query))
})
server.listen(3000)
console.log('server run ...');
nodeJS处理post请求

post请求,是前端要像服务端传递数据。如注册用户登录

const server = http.createServer((req,res)=>{
   if(req.method === 'POST'){
      // 接收数据
      let postData = ''
      req.on('data',chunk=>{
         postData += chunk.toString()
      })
      req.on('end',data=>{
         console.log(postData); // 接受到数据
         res.end('done')
      })
   }
})
服务端路由

路由就是url路径,代表了url资源的唯一的标识。
在node 中,通过req.url获取到的数据,url.split(‘?’)[1]) 获取的是参数,[0]获取的就是路由。

综合的一个小案例:

麻雀虽小,五脏俱全

const http = require('http')
const querystring = require('querystring')
const server = http.createServer((req,res)=>{
   const method = req.method
   const url = req.url
   const path = url.split('?')[0]
   const query = querystring.parse(url.split('?')[1])
   // 设置返回格式为json
   res.setHeader('Content-type','application/json')
   const resData = {
      method,url,path,query
   }
   if(method === 'GET'){
      res.end(JSON.stringify(resData))
   }
   if(req.method === 'POST'){
      // 接收数据
      let postData = ''
      req.on('data',chunk=>{
         postData += chunk.toString()
      })
      req.on('end',data=>{
         resData.postData = postData
         res.end(JSON.stringify(resData))
      })
   }
})
server.listen(3000)
console.log('server run ...');

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...