我希望能够在本地主机端口上完成get请求。完整的网址应为" localhost:3000 / data / mydb.json?get = somefield"其中mydb.json可以是任何文件名,somefield是键。在我的app.js文件中,我的get请求如下所示:
app.get(' / data /:filename?get = somefield',routes.getdatabase);
无论我在路由文件中放入什么,它都无法在匹配此模式的任何类型的URL上完成获取请求。为了调试我删除了问号之后的所有内容(例如app.get(' / data /:filename,routes.getdatabase);)并且任何文件名都有效。是否需要一些模块才能使用此查询字符串语法,或者此get请求是否还有其他问题?
答案 0 :(得分:1)
查询字符串不是路径路径的一部分。
鉴于你的第二个例子:
app.get('/data/:filename', routes.getdatabase);
您应该可以使用req.query.get
作为查询参数。
<强> routes.js 强>
exports.getdatabase = function(req, res, next) {
console.log(req.params.filename);
console.log(req.query.get);
// Do some stuff
return res.send(someResponse);
}
控制台(URI:/ data / someFile?get = cats):
someFile
cats