失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > node get/post请求参数处理 url/queryString模块

node get/post请求参数处理 url/queryString模块

时间:2020-05-05 09:04:36

相关推荐

node get/post请求参数处理 url/queryString模块

url模块方式

使用url.parse 方法将路径解析为一个方便操作的随心,第二个参数true表示直接将查询字符串转成对象

let urlObj = url.parse(req.url,true)console.log("urlObj:",urlObj)

示例

index.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>参数测试</title></head><body><form action="http://127.0.0.1:3000/login" method="post"><input type="text" name="name"><input type="text" name="age"><input type="submit" ></form></body></html>

app.js

// 参数处理const http = require("http")const url = require("url") // 用于处理url地址 const queryString = require("querystring") //处理请求参数模块const fs = require("fs")const app = http.createServer()app.on("request",(req, res)=>{// 使用url.parse 方法将路径解析为一个方便操作的对象,第二个参数true表示直接将查询字符串转成对象// query:请求参数, pathname:请求路径let {query, pathname} = url.parse(req.url,true)res.writeHead(200,{'Content-type':'text/html;charset=utf8'})// 首页处理if(pathname == "/" || pathname == "/index"){fs.readFile("./index.html",(err, data)=>{if(!err){res.end(data)}})return }console.log("method:",req.method,pathname)if(req.method == "GET"){// 参数被放置在请求路径中进行传输// query get请求参数 query.xxxif(pathname == "/index"){// index 路径处理// ....}}else if(req.method == "POST"){// 参数被放置在请求体中进行传输// post请求参数是通过事件接收的// data 当有请求参数传递的时候触发// end 请求参数传递完成的时候触发let postparams = ''req.on("data",(data)=>{// 如果参数内容过大 可能会触发多次 数据分多次上传// console.log("POSTdata:",data.toString()) //post请求参数// if(pathname == '/login'){//// login 路径处理//// ....// }console.log('data',data)postparams += data;})req.on("end",()=>{let paiams = queryString.parse(postparams)console.log('end',postparams,paiams.name)})}res.end("响应")})app.listen(3000,()=>{console.log(" 服务器启动成功: http://127.0.0.1:3000")})

启动测试

node app.js

如果觉得《node get/post请求参数处理 url/queryString模块》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。