nodejs入门(二):数据交互之GET请求

打印 req.url,查看请求url

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)

微信截图_20200526165500.png
【图1.1】url

使用 querystring 模块处理url数据

知识点:quertstringspa

咱们能够看到,服务端接收到的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 模块处理url数据

知识点: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)

微信截图_20200526171412.png
【图1.2】server

相关文章
相关标签/搜索