node.js中的url.parse已被弃用请使用URL类,通过GET发送数据(二)

因为node.js的url.parse方法采用的传统的urlObject,不符合URL现存标准-WHATWG URL API,因此弃用了。同时url.format(), url.resolve()也弃用了。
那我们怎么办呢?官方推荐可以使用URL类

所需软件:

vscode,官网链接下载:https://code.visualstudio.com/;(也可以用自己习惯的编辑器)
node.js,官网链接下载:http://nodejs.cn/
安装自己电脑的合适版本即可。
安装这些一般直接点击下一步即可,对于一些国外的软件注意安装目录中最好不要有中文路径,以免出现问题。

首先我们创建一个node的文件夹,里面创建一个index.js文件和1.html文件,就可以开始写代码了:

1.在前段时间我们是通过引用url,使用里面的parse方法来获取到前端发送到后端的数据,现在改方法已被弃用,我们需要使用URL类,具体方法可看下面代码(官方链接:http://nodejs.cn/api/url.html#url_the_whatwg_url_api):
来看看html代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <form action="http://localhost:8080" method="GET"> 需要使用form来发送请求
    <input type="text" name="username" id="">
    <input type="password" name="userpassword">
    <input type="submit" value="登陆">
  </form>
</body>
</html>

来看看后端index.js代码:
这是第一种方法:

const http = require('http')
const querystring = require('querystring') // 引用querystring

http.createServer((req, res) => {
  console.log('url:',req.url) // 输出我们前端返回的链接
  req.query = querystring.parse(req.url.split('?')[1]) // 设置query值,将req的url值进行分割整理
  console.log(req.query)

  res.end(JSON.stringify(req.query)) // 最后转换成字符串返回给前端
}).listen(5000, () => {
  console.log('项目开启成功')
})

还有另一种方法

let http = require('http') // 首先我们引用自带的http模块,想要完成后端这个是必须的,这是自带的所以我们不需要安装

http.createServer((req, res) => { // 我们使用http模块中的createServer方法来创建一个后端环境
  const data = new URL(`${req.url}`,'http://localhost:5000/') // new一个URL实例
  // console.log(data) // 可以打印出来看看里面有什么,
  const name = data.searchParams.get('username') // 通过searchParams的get可以获取到想要获取的数据
  const password = data.searchParams.get('userpassword')
  console.log(name,password)
}).listen(5000) // listen传入一个端口号,大家可以自行传入。

这样就能够获取前端传来的值啦

本文章是我一个字一个字的打出来,图也是我自己做,也是按照我一个初学者的理解思维去写的,本人也是正在看各种视频学习进步中,发现一些好的会写出来也算给自己加深印象吧,顺便记录一下代码,如果有说的不对的地方还望指出,万分感激!
谢谢


一只正在成长的狮子!大家一起努力。


你可能感兴趣的:(node.js,javascript,node.js,es6,vue.js)