最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問題

 更新時(shí)間:2022年08月22日 15:42:30   作者:天海一直在  
無論是前端還是后端,經(jīng)常出現(xiàn)的應(yīng)用場(chǎng)景是URL中參數(shù)的處理,下面這篇文章主要給大家介紹了關(guān)于Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

代碼實(shí)現(xiàn)       

目前學(xué)的比較簡(jiǎn)單,網(wǎng)址傳參沒有采用加密方式,我們一般用"?"來對(duì)url和參數(shù)進(jìn)行分隔,用&來對(duì)每個(gè)參數(shù)進(jìn)行分隔,新建了summary.js代碼如下

const http = require('http');
const querystring = require('querystring');
const server = http.createServer((req, res)=>{
    const method = req.method; //獲取方法
    const url = req.url; //請(qǐng)求的路由
    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就為網(wǎng)址中"?"前的路徑內(nèi)容

第8行的常量query就為網(wǎng)址中"?"后的參數(shù)內(nèi)容

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

請(qǐng)求得到的path為:/api/blog/list

請(qǐng)求得到的query為:{ id: '天海一直在', pwd: '123456' }

遇到的問題:“querystring”已棄用

在引用querystring時(shí)發(fā)現(xiàn)該方法被劃線了,原因是封裝的querystring被做了棄用標(biāo)識(shí),表示后續(xù)不會(huì)對(duì)此封裝函數(shù)進(jìn)行更新和維護(hù),過一段時(shí)間可能會(huì)被刪除,這就導(dǎo)致不能正常對(duì)url進(jìn)行切片,這時(shí)只需要按住ctrl點(diǎn)擊被劃掉的querystring,進(jìn)入js封裝的原代碼。

將棄用聲明這一行刪除,ctrl +s保存,這時(shí)回到summray.js就可以看到querystring不是被劃線的了

這時(shí)在該目錄下的終端輸入node summary.js運(yùn)行,打開瀏覽器,輸入網(wǎng)址http://localhost:5000/api/blog/list?id=天海一直在&pwd=123456,就可以實(shí)現(xiàn)問號(hào)后面的網(wǎng)頁參數(shù)可以被提取出來的功能了,運(yùn)行的返回結(jié)果如下:

PS D:\文件\Nodejs學(xué)習(xí)> 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后加入內(nèi)容

實(shí)際解決問題借鑒評(píng)論區(qū)老哥的方法就是將querystring替換為querystringify

先npm i querystringify

再導(dǎo)入:const qs = require('querystringify')

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

補(bǔ)充:node.js 解決querystring棄用對(duì)post請(qǐng)求分割字符串的影響

當(dāng)用這個(gè)方法時(shí)出現(xiàn)白線,然后查官方文檔有這樣一句話:

querystring API 被視為舊版的。 雖然它仍在維護(hù),但是新的代碼應(yīng)該改為使用 <URLSearchParams> API。 

然后點(diǎn)進(jìn)<URLSearchParams> 這個(gè)鏈接。找到了這個(gè):

但有個(gè)問題:就是post請(qǐng)求連接所獲得的字符串并不是上面URL()中的詳細(xì)地址 ,就沒法用這個(gè)方法。

解決:在連接post請(qǐng)求所獲得的字符串前面再加上'http://xxxx/?’那個(gè)協(xié)議也是根據(jù)自己的情況而定。

當(dāng)然,對(duì)于這個(gè)新的node方法我也是直接復(fù)制用的,并沒有非常具體看,所以里面東西還是要大家自己在官網(wǎng)看。 

總結(jié)

到此這篇關(guān)于Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問題的文章就介紹到這了,更多相關(guān)Nodejs解決querystring已棄用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node.js?readline和line-reader逐行讀取文件方法

    node.js?readline和line-reader逐行讀取文件方法

    Readline是Node的原生模塊。它是專門為從任何可讀流逐行讀取內(nèi)容而開發(fā)的。它可用于從命令行讀取數(shù)據(jù),line-reader模塊是Node.js中逐行讀取文件的開源模塊。它不是本地模塊,所以你需要使用npm(節(jié)點(diǎn)包管理器)安裝它
    2022-10-10
  • 使用Koa實(shí)現(xiàn)一個(gè)獲取視頻播放地址的接口

    使用Koa實(shí)現(xiàn)一個(gè)獲取視頻播放地址的接口

    在本節(jié)課中,我們將學(xué)習(xí)如何使用 Koa 實(shí)現(xiàn)一個(gè)獲取視頻播放地址的接口,我們將創(chuàng)建一個(gè)控制器,通過視頻 ID 獲取播放地址,并設(shè)置相應(yīng)的路由,最后,我們將使用 Postman 進(jìn)行測(cè)試,感興趣的朋友可以參考下
    2024-05-05
  • Nodejs中獲取當(dāng)前函數(shù)被調(diào)用的行數(shù)及文件名詳解

    Nodejs中獲取當(dāng)前函數(shù)被調(diào)用的行數(shù)及文件名詳解

    這篇文章主要給大家介紹了關(guān)于Nodejs中獲取當(dāng)前函數(shù)被調(diào)用的行數(shù)及文件名的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • nodejs高版本降為低版本的詳細(xì)解決方案

    nodejs高版本降為低版本的詳細(xì)解決方案

    部分老舊項(xiàng)目需要使用低版本的node,網(wǎng)上很多是無效的,高版本無法直接安裝低版本node,但是低版本nodejs可以安裝部分高版本node,從而達(dá)到升級(jí)效果,下面這篇文章主要給大家介紹了關(guān)于nodejs高版本降為低版本的詳細(xì)解決方案,需要的朋友可以參考下
    2022-12-12
  • 利用yarn實(shí)現(xiàn)一個(gè)webpack+react種子

    利用yarn實(shí)現(xiàn)一個(gè)webpack+react種子

    其實(shí)以前就寫過如何使用React-router和Webpack快速構(gòu)建一個(gè)react程序。后來發(fā)現(xiàn)版本太老,于是乎最近又重新組織了下結(jié)構(gòu),使用最近發(fā)布的yarn作為包管理工具,介紹下基本安裝步驟,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Node.js的文件權(quán)限及讀寫flag詳解

    Node.js的文件權(quán)限及讀寫flag詳解

    Node.js對(duì)文件的讀寫還是相當(dāng)靈活的,因?yàn)樽约豪鲜怯洸蛔∥募蚰夸洐?quán)限的數(shù)值表達(dá)和字符表達(dá)。所以整理出這篇文章,方便以后查閱,下面來一起看看吧。
    2016-10-10
  • node中的__filename和__dirname的使用詳解

    node中的__filename和__dirname的使用詳解

    本文主要介紹了node中的__filename和__dirname的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Node.js 中 morgan 依賴及基本使用詳解

    Node.js 中 morgan 依賴及基本使用詳解

    文章介紹了Node.js中`morgan`依賴的安裝、基本使用、日志格式(如`dev`、`combined`、`common`等),以及如何自定義日志格式和將日志寫入文件,感興趣的朋友一起看看吧
    2025-02-02
  • 利用node.js爬取指定排名網(wǎng)站的JS引用庫詳解

    利用node.js爬取指定排名網(wǎng)站的JS引用庫詳解

    最近在學(xué)習(xí)node.js爬蟲,由于 nodejs 強(qiáng)大的異步特性,讓我們可以輕松以異步高并發(fā)去爬取網(wǎng)站,下面這篇文章主要給大家介紹了關(guān)于利用node.js爬取指定排名網(wǎng)站的JS引用庫的相關(guān)資料,需要的朋友可以參考下。
    2017-07-07
  • Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程

    Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程

    如果想要在Ubuntu 16.04上安裝Node.js的話,這篇文章對(duì)你來說肯定很重要。Node.js從本質(zhì)上來說就是一個(gè)運(yùn)行在服務(wù)端上的封裝好了輸入輸出流的javascript程序。本文給大家詳細(xì)介紹了在Ubuntu 16.04 64位搭建Node.js開發(fā)環(huán)境的步驟,有需要的朋友們可以參考學(xué)習(xí)。
    2016-10-10

最新評(píng)論

门头沟区| 巴东县| 弥渡县| 滁州市| 三门峡市| 雷州市| 高雄市| 梨树县| 高碑店市| 泗阳县| 滦平县| 离岛区| 深水埗区| 黔东| 金昌市| 蓬溪县| 乐安县| 通化市| 景泰县| 大化| 罗江县| 绿春县| 邓州市| 朔州市| 松潘县| 涿州市| 中山市| 和林格尔县| 色达县| 秦皇岛市| 虞城县| 永宁县| 海阳市| 绥滨县| 高雄市| 榆树市| 巫山县| 双城市| 霍山县| 平原县| 北海市|