【发布时间】:2016-09-10 07:38:34
【问题描述】:
我在使用 express.Router() 时遇到了问题,我不确定我的问题是什么。我的问题是,当我向 url '/api/zip' 或 '/api/zip/' + zip(其中 zip 是数字邮政编码)发出 GET 请求时,唯一被命中的路线是 '/',在下面的示例中记录'$$$$$$$$$$$$'。
当我在 results_api.js 中取出“/”的路由时,“made it to server.js”被记录下来,但我没有从 results_api.js 中得到任何东西。让我知道是否需要发布更多上下文代码。我正在使用 Angular 前端,但我假设由于我的请求总是到达 server.js(通过记录“使它成为 server.js”来验证),我的问题在 results_api.js 中。
我以前使用过这种路由方法,但不确定这次出了什么问题。我如何设法点击 routes.get('/zip/:zip... ?
在我的 server.js 文件中:
var express = require('express');
var routes = express.Router();
//route to index.html
var assetFolder = Path.resolve(__dirname, '../client/');
routes.use(express.static(assetFolder));
//api routes
routes.use('/api/*', require(‘./api/results_api.js’), function(){
console.log('made it to server.js')});
我的 results_api.js 文件:
var router = require('express').Router();
router.get('/', function(req, res){
console.log('$$$$$$$$$$$$$$$')
});
router.get('/zip', function(req, res){
console.log(‘###################’)
});
router.get('/zip/:zip', function(req, res){
console.log('%%%%%%%%%%%%%%%%%')
});
module.exports = router;
这个问题:
express.Router() get url route with optional parameters
与我的很接近,但没有中间参数(在我的例子中,在 '/api' 之后是 '/zip/')。这是否表明我正在尝试做的只是构建我的 api 的错误方式?
【问题讨论】:
标签: javascript angularjs node.js express routing