我知道如何获取查询的参数,像这样:
app.get('/sample/:id', routes.sample);
在这种情况下,我可以使用req.params.id来获取参数(例如/sample/2中的2)。
然而,对于/sample/2这样的url ?color=红色,我怎么能访问变量颜色?
我试过req.params.color,但不起作用。
我知道如何获取查询的参数,像这样:
app.get('/sample/:id', routes.sample);
在这种情况下,我可以使用req.params.id来获取参数(例如/sample/2中的2)。
然而,对于/sample/2这样的url ?color=红色,我怎么能访问变量颜色?
我试过req.params.color,但不起作用。
当前回答
查询字符串和参数不一致。
你需要在单个路由url中使用两者
请检查下面的例子可能对你有用。
app.get('/sample/:id', function(req, res) {
var id = req.params.id; //or use req.param('id')
................
});
让链接通过你的第二个段是你的id示例:http://localhost:port/sample/123
如果你遇到问题,请使用'?的运营商
app.get('/sample', function(req, res) {
var id = req.query.id;
................
});
获取链接就像这个例子:http://localhost:port/sample?id=123
两者都在一个例子中
app.get('/sample/:id', function(req, res) {
var id = req.params.id; //or use req.param('id')
var id2 = req.query.id;
................
});
获取链接示例:http://localhost:port/sample/123?id=123
其他回答
因此,在检出express引用之后,我发现req.query.color将返回我正在寻找的值。
要求的事情。params指的是URL和req中带有“:”的项。查询引用与'?'相关的项
例子:
GET /something?color1=red&color2=blue
然后在express中,处理程序:
app.get('/something', (req, res) => {
req.query.color1 === 'red' // true
req.query.color2 === 'blue' // true
})
快捷手册上说你应该用req。query来访问QueryString。
// Requesting /display/post?size=small
app.get('/display/post', function(req, res, next) {
var isSmall = req.query.size === 'small'; // > true
// ...
});
只需使用app.get:
app.get('/some/page/here', (req, res) => {
console.log(req.query.color) // Your color value will be displayed
})
你可以在expressjs.com的文档api上看到: http://expressjs.com/en/api.html
查询字符串和参数不一致。
你需要在单个路由url中使用两者
请检查下面的例子可能对你有用。
app.get('/sample/:id', function(req, res) {
var id = req.params.id; //or use req.param('id')
................
});
让链接通过你的第二个段是你的id示例:http://localhost:port/sample/123
如果你遇到问题,请使用'?的运营商
app.get('/sample', function(req, res) {
var id = req.query.id;
................
});
获取链接就像这个例子:http://localhost:port/sample?id=123
两者都在一个例子中
app.get('/sample/:id', function(req, res) {
var id = req.params.id; //or use req.param('id')
var id2 = req.query.id;
................
});
获取链接示例:http://localhost:port/sample/123?id=123
const express = require('express')
const bodyParser = require('body-parser')
const { usersNdJobs, userByJob, addUser , addUserToCompany } = require ('./db/db.js')
const app = express()
app.set('view engine', 'pug')
app.use(express.static('public'))
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.get('/', (req, res) => {
usersNdJobs()
.then((users) => {
res.render('users', { users })
})
.catch(console.error)
})
app.get('/api/company/users', (req, res) => {
const companyname = req.query.companyName
console.log(companyname)
userByJob(companyname)
.then((users) => {
res.render('job', { users })
}).catch(console.error)
})
app.post('/api/users/add', (req, res) => {
const userName = req.body.userName
const jobName = req.body.jobName
console.log("user name = "+userName+", job name : "+jobName)
addUser(userName, jobName)
.then((result) => {
res.status(200).json(result)
})
.catch((error) => {
res.status(404).json({ 'message': error.toString() })
})
})
app.post('/users/add', (request, response) => {
const { userName, job } = request.body
addTeam(userName, job)
.then((user) => {
response.status(200).json({
"userName": user.name,
"city": user.job
})
.catch((err) => {
request.status(400).json({"message": err})
})
})
app.post('/api/user/company/add', (req, res) => {
const userName = req.body.userName
const companyName = req.body.companyName
console.log(userName, companyName)
addUserToCompany(userName, companyName)
.then((result) => {
res.json(result)
})
.catch(console.error)
})
app.get('/api/company/user', (req, res) => {
const companyname = req.query.companyName
console.log(companyname)
userByJob(companyname)
.then((users) => {
res.render('jobs', { users })
})
})
app.listen(3000, () =>
console.log('Example app listening on port 3000!')
)