中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nodejs怎么提取網址參數解決“querystring”已棄用問題

發布時間:2022-08-23 11:41:49 來源:億速云 閱讀:238 作者:iii 欄目:開發技術

這篇“Nodejs怎么提取網址參數解決“querystring”已棄用問題”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“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”已棄用

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 i querystringify

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

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

補充:node.js 解決querystring棄用對post請求分割字符串的影響

Nodejs怎么提取網址參數解決“querystring”已棄用問題

當用這個方法時出現白線,然后查官方文檔有這樣一句話:

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

然后點進<URLSearchParams> 這個鏈接。找到了這個:

Nodejs怎么提取網址參數解決“querystring”已棄用問題

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

解決:在連接post請求所獲得的字符串前面再加上'http://xxxx/?&rsquo;那個協議也是根據自己的情況而定。

Nodejs怎么提取網址參數解決“querystring”已棄用問題

以上就是關于“Nodejs怎么提取網址參數解決“querystring”已棄用問題”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孝昌县| 哈巴河县| 铜梁县| 绩溪县| 田林县| 泰和县| 乐平市| 游戏| 霍邱县| 英超| 寻乌县| 石屏县| 余江县| 云浮市| 元朗区| 梁平县| 许昌县| 远安县| 修文县| 鹤庆县| 油尖旺区| 逊克县| 屏南县| 来凤县| 桃江县| 黑龙江省| 资中县| 蓝山县| 嫩江县| 侯马市| 青海省| 曲松县| 东海县| 文化| 丰都县| 陆丰市| 旬阳县| 梁河县| 汉源县| 清镇市| 正镶白旗|