【发布时间】:2013-11-03 13:07:36
【问题描述】:
我对 express/mongoose 还很陌生,无法弄清楚为什么我的路线不起作用。我正在使用 MEAN 堆栈。
我有一条一般报价路线“/offers”,然后是特定报价路线“/offers/television”和“/offers/laptops”,但是当尝试路由到特定路线时,它通过“/offers”而不是我写的路线。
我错过了什么?
谢谢!
我的代码:
index.html
<a href="#!/offers/televisions">Television Offers</a>
config.js
when('/offers',{
templateUrl: 'views/offers/list.html'
}).
when('/offers/televisions',{
templateUrl: 'views/offers/list.html'
}).
when('/offers/laptops',{
templateUrl: 'views/offers/list.html'
})
routes.js
//Offer Routes
var offers = require('../app/controllers/offers');
app.get('/offers', offers.all);
app.get('/offers/televisions', offers.televisions);
app.get('/offers/laptops', offers.laptops);
offers.js
/**
* Find all offers
*/
exports.all = function(req, res){
console.log('all');
Offer.find({}, function(err, offers){
if (err) {
res.render('error', {
status: 500
});
} else {
res.jsonp(offers);
}
});
};
/**
* Find all television offers
*/
exports.televisions = function(req, res){
console.log('televisions');
Offer.find({type: 'television'}, function(err, offers){
if (err){
res.render('error', {
status:500
});
}else{
console.log(offers);
res.jsonp(offers);
}
});
};
【问题讨论】:
-
好吧,也许我不完全理解你的设置,但你似乎在角度和快递中定义了相同的路线,所以当一个路线在角度内被击中时,请求不会发送到服务器。您需要显式调用服务器路由,并且您没有在示例中显示此内容。
-
这是正确的。请求没有发送到快递。谢谢。
标签: node.js angularjs express routes mongoose