所以我有一個 api,我必須在 URL 中傳遞汽車制造商、型號、年份。我有快速路由器后呼叫來獲取查詢引數并設定為物件。
我需要能夠接受 URL 中的引數,所以說 localhost:8080/cars/[不確定這個語法,但我需要 make:Audi?model:A4?year:2017]
我不確定 & 和 ? 在上面的網址中,所以請更正它。
router.post('/:make[not sure of this either but need to accept all params]),
function(req,res)
{
var make: req.query.make // here I should be able to get make of car and it should match query url
}
請解釋我需要進行后期呼叫的實際 URL 和 router.post 的 URL
~SRJ
uj5u.com熱心網友回復:
你可以這樣呼叫你的 URL,下面應該可以作業: localhost:8080/cars/Audi&A4&2017
router.post('/:make&:model&:year),
function(req,res)
{
const car = {
make: req.params.make,
model: req.params.model,
year: req.params.year
}
}
這將為您提供所需變數中的所有屬性。
uj5u.com熱心網友回復:
您可以通過兩種方式在 Express.js 中使用 URL 引數。
- 使用路由引數。
req.params- 使用此方法,您需要指定您希望在服務器路由的 URL 中接收的引數的名稱:
app.get('/cars/:make/:model/:year', function (req, res) {
res.send(req.params)
})
并且 URL 將按照它們在路由中出現的順序保存每個引數的值:
localhost:8080/cars/Audi/A4/2017
這將回傳:
{
"make": "Audi",
"model": "A4",
"year": "2017"
}
您可以通過簡單地添加路由中指定的引數名稱來訪問特定的 URL 引數,如下所示: res.send(req.params.make)
- 使用查詢引數。
req.query- 這看起來更接近你所做的。使用此方法,您無需在路線中指定引數名稱,因此您的路線將是:
app.get('/cars', function (req, res) {
res.send(req.query)
})
URL 將像一個鍵:值對,從?指定 URL 的這部分是查詢引數的開頭開始,然后&是每個附加查詢引數:
localhost:8080/cars?make=Audi&model=A4&year=2017
這也將回傳:
{
"make": "Audi",
"model": "A4",
"year": "2017"
}
與路由引數方法相同,您還可以通過將特定的查詢引數添加到查詢引數來訪問特定的查詢引數,如下所示: req.query.model
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379282.html
標籤:javascript 表达 网址 路由器
