[英]Node JS - Express.js get query with multiple parameters
我對 JavaScript 和 Node JS 很陌生,我遇到了這樣的情況。 當我嘗試使用單個參數調用express.js
get
時一切正常,但是當我嘗試使用多個參數調用get
時,它會修剪查詢。 例如我有這樣的調用和功能
app.get('path/data', myFunc);
// in another file
function myFunc(req, res) {
// do some stuff
}
當 url 是path/data?id=5
或path/data?name=foo
一切都很好。 但是,當我在 myFunc 中使用例如path/data?id=5&name=foo
這樣的 url 時,我得到的 url 為path/data?id=5
。 所以我得到了 url 的第一部分 - &
符號之前是什么。
現在我做錯了什么? 有什么我想念的嗎? 如何在不修剪的情況下在myFunc
獲取整個 url?
用
app.get('path/data?:id?:name')
對於檢索值,請使用req.query.id
和req.query.name
。
要訪問 REST api,您需要點擊: http://localhost:8080/demo?id=3&name=stack
因此,通過此您可以在 api 中添加多個參數。
希望這可以幫助。
我發現了問題。 我是通過curl
請求的,結果證明 shell 命令會在 url 中有&
情況下進行修剪。 所以不需要像這樣添加引號
curl "path/data?id=5&name=foo"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.