【问题标题】:Expressjs res.redirect(...) is changing the content-type from json to form-urlencodedExpressjs res.redirect(...) 正在将内容类型从 json 更改为 form-urlencoded
【发布时间】:2012-03-31 22:26:56
【问题描述】:

我在 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。

有谁知道这种行为是有意的还是一个错误?我需要做些什么来阻止内容类型发生变化吗?

谢谢

【问题讨论】:

    标签: node.js express


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-04-21
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多