req.url 能够看到咱们GET请求的连接以及数据html
咱们新建一个html,写一个简单的form表单,用get方式提交请求微信
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="http://127.0.0.1:8081/aaa" method="get"> 用户:<input type="text" name="username" /> <br> 密码:<input type="password" name="password" /> <br> <input type="submit" value="提交"> </form> </body> </html>
打开html文件,输入帐号密码,在服务端打印 req.url 数据,请看图1.1。ui
// 4 .js const http = require('http') let server = http.createServer(function(req, res){ console.log(req.url) // 打印请求 url ->/aaa?username=123&password=qweqwe }) server.listen(8081)
【图1.1】url
知识点:quertstring
spa
咱们能够看到,服务端接收到的url数据是 /aaa?username=123&password=qweqwe
,"?"号后面就是咱们再form表单中输入的数据,我门能够提取问号后面的字符串,而后用 querystring.parse()
将字符串处理成对象。code
const http = require('http') const querystring = require('querystring') let server = http.createServer(function(req, res){ let [url, query] = req.url.split('?'); // url->'/aaa', query->'username=123&password=qweqwe' let get = querystring.parse(query); // { username: '123', password: 'qweqwe' } }) server.listen(8081)
知识点:url.parse()
经过url.parse(req.url, true)
会直接帮我处理url,第二个参数设置为true,会帮咱们将form提交的数据转化成对象,请看图1.2。orm
const http = require('http') const url = require('url') let server = http.createServer(function(req, res){ let result = url.parse(req.url, true) console.log(result) }) server.listen(8081)
【图1.2】server