Expressjs res.redirect(...)正在将内容类型从json更改为form-urlencoded

时间:2012-03-31 11:47:21

标签: node.js express

我正在Heroku上托管一个网站,并利用他们的Piggyback SSL。

要在某些路由上强制执行SSL,我使用的是以下代码:

app.all('/user/*', function(req, res, next) {
  if(app.settings.env != "development" && 
     req.headers['x-forwarded-proto'] != 'https') {
    res.redirect('https://' + req.header('host') + req.url);
  } else {
    next();
  }
});

重定向工作正常,所有标题都存在。但是,内容类型从application / json更改为application / x-www-form-urlencoded。

是否有人知道此行为是否有意或是否为错误?有什么我需要做的就是阻止内容类型改变吗?

由于

1 个答案:

答案 0 :(得分:0)

如果来自整个/users/*路由集的所有响应都作为JSON进行管理 只需在res.contentType('application/json')之前明确设置next()。或者只为在res.send()res.render()

之前应用的每条路线制作此广告