下面的代码是我们正在构建的新节点应用程序面向用户的部分:
var loadInvoice = function(req, res, next) {
Invoice.findById(req.params.invoiceId, function (err, invoice) {
if (err) {
res.send(404, 'Page not found');
} else {
req.invoice = invoice;
next();
}
});
};
app.namespace('/invoices/:invoiceId', loadInvoice, function () {
app.get('', function(req, res){
var templateVals = {
//some template data
};
res.render('paymentselection', templateVals);
});
app.post('', function(req, res){
var data = {
// some data for the apiCall
};
someAPI.someRequest(data, function(err, data) {
console.log(res.status());
res.redirect(data.url);
});
});
});第一种方法返回一个确认页面,用户按下按钮将其发送到同一个url,这将触发对外部网站的重定向。
这一切都只起作用一次。每秒钟的请求都会使应用程序崩溃,在发送消息后设置消息头。在仔细检查代码之后,我无法找到发生这种情况的原因,因此我添加了console.log行,它确实确认了位置标头已经设置。但是,它被设置为在上一次请求时从someAPI 获得的值,而不是当前请求。
这对我来说完全没有意义。我不将此值存储在任何地方,也不以任何方式缓存或持久化此数据。
有人知道是什么导致的吗?
我使用快速,快速命名空间,莫鹅和酒杯。
发布于 2013-10-31 10:52:07
我发现这个问题是由‘s the’中使用的'Restler‘libaray引起的。我不知道这是怎么可能的,但换掉它,用别的东西解决了问题。
https://stackoverflow.com/questions/19655861
复制相似问题