1、请求GET处理

querystring是用来处理Get的参数请求的

  1. const http = require('http')
  2. const querystring = require('querystring')
  3. const server = http.createServer((req, res) => {
  4. const method = req.method
  5. const url = req.url
  6. const path = url.split('?')[0]
  7. const query = querystring.parse(url.split('?')[1])
  8. // 设置返回格式为JSON
  9. res.setHeader('Content-type', 'application/json')
  10. // 返回的数据
  11. const resData = {
  12. method,
  13. url,
  14. path,
  15. query
  16. }
  17. // 返回
  18. if(method === 'GET') {
  19. res.end(
  20. JSON.stringify(resData)
  21. )
  22. }
  23. })
  24. server.listen(3000, () => {
  25. console.log('ok')
  26. })

image.png

2、处理POST请求

  1. const http = require('http')
  2. const querystring = require('querystring')
  3. const server = http.createServer((req, res) => {
  4. const method = req.method
  5. const url = req.url
  6. const path = url.split('?')[0]
  7. const query = querystring.parse(url.split('?')[1])
  8. // 设置返回格式为JSON
  9. res.setHeader('Content-type', 'application/json')
  10. // 返回的数据
  11. const resData = {
  12. method,
  13. url,
  14. path,
  15. query
  16. }
  17. // Get请求处理
  18. if(method === 'GET') {
  19. res.end(
  20. JSON.stringify(resData)
  21. )
  22. }
  23. // Post请求处理
  24. if(method === 'POST') {
  25. let postData = ''
  26. req.on('data', chunk => {
  27. postData += chunk.toString()
  28. })
  29. req.on('end', () => {
  30. resData.postData = postData
  31. // 返回
  32. res.end(
  33. JSON.stringify(resData)
  34. )
  35. })
  36. }
  37. })
  38. server.listen(3000, () => {
  39. console.log('ok')
  40. })

image.png