使用nodejs+express作为后台提供接口,设置res.header时的疑问?

发布于 2022-09-04 09:13:21 字数 653 浏览 8 评论 0

我现在在使用nodejs+express开发一个博客,并提供接口给前端。
前端是我用vue写的单页应用。
现在我有在本地开了两个端口不同的服务,所以涉及到跨域。因为跨域需要设置返回头,以支持跨域,我写的代码如下:

exports.getPostList = function (req, res) {
  PostModel.getPosts()
    .then(function (posts) {
      res.header('charset', 'utf8');
      res.header('Access-Control-Allow-Origin', '*');
      return res.status(200).json({data: posts, status: 'success'});
    })
    .catch(function(err) {
      // next();
      return res.status(401).send(err);
    });
}

现在我有一个疑问,有什么办法可以全局设置res.header('Access-Control-Allow-Origin', '*');,
因为现在我需要在每个接口里都单独设置,我觉得很不妥啊,希望大神给个思路,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

才能让你更想念 2022-09-11 09:13:21

可以再express的app入口设置

var app = express();
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
小鸟爱天空丶 2022-09-11 09:13:21

新增个模块写res.header exports module一下,然后哪里需要哪里require就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文