我遇到了一个问题,我不知道如何解决它,我不是和nodejs + expressjs一样专家,但在这种情况下,我认为我在做所有的怀疑!
嗯,问题是当我在端点中添加不同的方法时,如下所示:
module.exports = function (app) {
app.post('/myRoute', function (req, res){
//all the thing
res.json(msg: 'some msg here');
})
.delete('/myRoute', function (req, res){
//all the thing
res.json(msg: 'some msg here');
});
我在app.js中的包括所有路线:
var app = express(),
routePath = path.join(__dirname, 'src', 'routes', path.sep);
fs.readdirSync(routePath).forEach(function(file) {
var route = routePath + file;
require(route)(app);
});
现在,我可以(使用rest客户端)访问使用post方法的端点,但不能使用delete方法(获取500内部服务器错误' Response不包含任何数据。&#39 ;)
我不知道发生了什么......一些想法?
提前感谢!
答案 0 :(得分:1)
链接在jQuery中运行的原因是因为每个函数都返回正在使用的元素,Express不会为您执行此操作,因此您必须将块分开,或者尝试改进express以返回app对象。要解决此问题,您只需添加另一个app
变量。
module.exports = function (app) {
app.post('/myRoute', function (req, res){
//all the thing
res.json({msg: 'some msg here'});
})
app.delete('/myRoute', function (req, res){
//all the thing
res.json({msg: 'some msg here'});
});
}
答案 1 :(得分:0)
您可以使用app.route进行链接
app.route('/myRoute')
.post(function (req, res){
//post action
})
.delete(function (req, res){
//delete action
});