我正在為我的 Web 應用程式的后端編程。我正在做 api,我需要能夠在 URL 中發送資料。例如:
www.example.com/posts/123456789
現在我只有:
www.example.com/posts/?q=123456789
我想知道我是否可以做一些類似于 express 模塊對冒號所做的事情來宣告引數。但是我想用 node http 模塊來做,因為我已經用它寫了所有的路由,移動來表達并且必須記住它的功能將是一個巨大的痛苦。
如果這是不可能的,請告訴我,我將不得不堅持查詢字串。
uj5u.com熱心網友回復:
除了使用search params之外,似乎HTTP 模塊檔案沒有指定執行此操作的方法。
但是,在您的情況下,我認為最好的行動方案(如果遷移到像 express 這樣的框架不是一種選擇)是使用以下內容手動解構 URL:
const urlSegments = request.url.split('/')
并采用第 n 段(匹配您指定的路線) )。
從長遠來看,這是一個糟糕的解決方案,因為維護起來非常困難,但如果需要,它可以完成作業。
uj5u.com熱心網友回復:
如果我正確理解你的問題,你會做這樣的事情。
我給你完整的服務器代碼,直接傳過去運行就行了,自己看吧
例如,此代碼的作用是 -> localhost:8080/month?9 當您將其傳遞到瀏覽器時,控制臺將列印出 9
const http = require('http');
const url = require('url');
http.createServer(function (req, res) {
const queryObject = url.parse(req.url,true).query; <---- Here is where you "catch" the URI parameters
console.log(queryObject); <-- here you display them
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Feel free to add query parameters to the end of the url');
}).listen(8080);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/353396.html
標籤:javascript 节点.js http 参数 网址路由
上一篇:撰寫TSQL查詢的最佳方式
