Nodejs怎么提取网址参数解决“querystring”已弃用问题(nodejs,querystring,开发技术)

时间:2024-04-28 21:00:10 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

这篇“Nodejs怎么提取网址参数解决“querystring”已弃用问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Nodejs怎么提取网址参数解决“querystring”已弃用问题”文章吧。

代码实现

目前学的比较简单,网址传参没有采用加密方式,我们一般用"?"来对url和参数进行分隔,用&来对每个参数进行分隔,新建了summary.js代码如下

consthttp=require('http');constquerystring=require('querystring');constserver=http.createServer((req,res)=>{constmethod=req.method;//获取方法consturl=req.url;//请求的路由constpath=url.split('?')[0];constquerystring=require('querystring');constquery=querystring.parse(url.split('?')[1]);console.log('method',method);console.log('url',url);console.log('path',path);console.log('query',query);});server.listen(5000,()=>{console.log('serverrunningatport5000');});

其中,

第6行的常量path就为网址中"?"前的路径内容

第8行的常量query就为网址中"?"后的参数内容

例如localhost:5000/api/blog/list?id=天海一直在&pwd=123456

请求得到的path为:/api/blog/list

请求得到的query为:{ id: '天海一直在', pwd: '123456' }

遇到的问题:“querystring”已弃用

Nodejs怎么提取网址参数解决“querystring”已弃用问题

在引用querystring时发现该方法被划线了,原因是封装的querystring被做了弃用标识,表示后续不会对此封装函数进行更新和维护,过一段时间可能会被删除,这就导致不能正常对url进行切片,这时只需要按住ctrl点击被划掉的querystring,进入js封装的原代码。

Nodejs怎么提取网址参数解决“querystring”已弃用问题

将弃用声明这一行删除,ctrl +s保存,这时回到summray.js就可以看到querystring不是被划线的了

这时在该目录下的终端输入node summary.js运行,打开浏览器,输入网址http://localhost:5000/api/blog/list?id=天海一直在&pwd=123456,就可以实现问号后面的网页参数可以被提取出来的功能了,运行的返回结果如下:

PS D:\文件\Nodejs学习> node summray.js
server running at port 5000
method GET
url /api/blog/list?id=%E5%A4%A9%E6%B5%B7%E4%B8%80%E7%9B%B4%E5%9C%A8&pwd=123456
path /api/blog/list
query [Object: null prototype] { id: '天海一直在', pwd: '123456' }

2022/3/27后加入内容

实际解决问题借鉴评论区老哥的方法就是将querystring替换为querystringify

先npm iquerystringify

再导入:const qs = require('querystringify')

最后使用:const body = qs.parse(str)即可

补充:node.js 解决querystring弃用对post请求分割字符串的影响

Nodejs怎么提取网址参数解决“querystring”已弃用问题

当用这个方法时出现白线,然后查官方文档有这样一句话:

querystringAPI 被视为旧版的。 虽然它仍在维护,但是新的代码应该改为使用<URLSearchParams>API。

然后点进<URLSearchParams>这个链接。找到了这个:

Nodejs怎么提取网址参数解决“querystring”已弃用问题

但有个问题:就是post请求连接所获得的字符串并不是上面URL()中的详细地址,就没法用这个方法。

解决:在连接post请求所获得的字符串前面再加上'http://xxxx/?&rsquo;那个协议也是根据自己的情况而定。

Nodejs怎么提取网址参数解决“querystring”已弃用问题

以上就是关于“Nodejs怎么提取网址参数解决“querystring”已弃用问题”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

本文:Nodejs怎么提取网址参数解决“querystring”已弃用问题的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何在node中使用log4js4.x记录日志下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18