Nodejs提取网址参数解决“querystring”已弃用问题
代码实现
目前学的比较简单,网址传参没有采用加密方式,我们一般用"?"来对url和参数进行分隔,用&来对每个参数进行分隔,新建了summary.js代码如下
const http = require('http'); const querystring = require('querystring'); const server = http.createServer((req, res)=>{ const method = req.method; //获取方法 const url = req.url; //请求的路由 const path = url.split('?')[0]; const querystring = require('querystring'); const query = 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('server running at port 5000'); });
其中,
第6行的常量path就为网址中"?"前的路径内容
第8行的常量query就为网址中"?"后的参数内容
例如localhost:5000/api/blog/list?id=天海一直在&pwd=123456
请求得到的path为:/api/blog/list
请求得到的query为:{ id: '天海一直在', pwd: '123456' }
遇到的问题:“querystring”已弃用
在引用querystring时发现该方法被划线了,原因是封装的querystring被做了弃用标识,表示后续不会对此封装函数进行更新和维护,过一段时间可能会被删除,这就导致不能正常对url进行切片,这时只需要按住ctrl点击被划掉的querystring,进入js封装的原代码。
将弃用声明这一行删除,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 i querystringify
再导入:const qs = require('querystringify')
最后使用:const body = qs.parse(str)即可
补充:node.js 解决querystring弃用对post请求分割字符串的影响
当用这个方法时出现白线,然后查官方文档有这样一句话:
querystring
API 被视为旧版的。 虽然它仍在维护,但是新的代码应该改为使用 <URLSearchParams> API。
然后点进 <URLSearchParams> 这个链接。找到了这个:
但有个问题:就是post请求连接所获得的字符串并不是上面URL()中的详细地址 ,就没法用这个方法。
解决:在连接post请求所获得的字符串前面再加上'http://xxxx/?’那个协议也是根据自己的情况而定。
当然,对于这个新的node方法我也是直接复制用的,并没有非常具体看,所以里面东西还是要大家自己在官网看。
总结
到此这篇关于Nodejs提取网址参数解决“querystring”已弃用问题的文章就介绍到这了,更多相关Nodejs解决querystring已弃用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)
- Node.js API详解之 querystring用法实例分析
- Node.JS获取GET,POST数据之queryString模块使用方法详解
- Node.js学习之查询字符串解析querystring详解
- Node.js queryString 解析和格式化网址查询字符串工具使用
相关文章
Nest.js参数校验和自定义返回数据格式详解
这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03node通过express搭建自己的服务器
本篇文章主要介绍了node通过express搭建自己的服务器 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09Node.js 在本地生成日志文件的方法
这篇文章主要介绍了Node.js 在本地生成日志文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02nodejs个人博客开发第四步 数据模型
这篇文章主要为大家详细介绍了nodejs个人博客开发的数据模型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04node NPM库glob通配符匹配文件名minimatch模式匹配字符串学习
这篇文章主要为大家介绍了node NPM库glob通配符匹配文件名minimatch模式匹配字符串学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-07-07node-red教程之dashboard简介与输入型仪表板控件的使用
Node-red支持自定义节点,当然也就支持自定义图形化的节点。也有优秀的开发者把自己建立的图形化节点无偿分享。这里给出一个股票界面的例子,让大家看一看优秀的node-red界面能做到什么样子2022-01-01利用node实现一个批量重命名文件的函数
这篇文章主要给大家介绍了关于利用node实现一个批量重命名文件的函数的相关资料,文中通过示例示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-12-12Node.js API详解之 querystring用法实例分析
这篇文章主要介绍了Node.js API详解之 querystring用法,结合实例形式分析了Node.js API中querystring的基本功能、用法及相关操作注意事项,需要的朋友可以参考下2020-04-04nodejs实现的连接MySQL数据库功能示例
这篇文章主要介绍了nodejs实现的连接MySQL数据库功能,结合实例形式分析了nodejs连接及查询mysql数据的相关操作步骤与实现技巧,需要的朋友可以参考下2018-01-01node.js使用fs读取文件出错的解决方案
在本篇文章里我们给大家带来一篇关于node.js使用fs读取文件出错的解决办法,有需要的朋友们参考下。2019-10-10
最新评论