【web】 nodesjs express 统一(全局)设置Respose Headers & 跨域

1. 概述

我们在《http请求中的 OPTIONS 详解 & 跨域》一文介绍跨域处理办法时,在 ”2.1.3.2 对于非简单请求(带options请求)“ 章节中提到统一设置Respose Headers的方法,这里单独提出来,做个笔记。

2. 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')

        //这段仅仅为了方便返回json而已

    res.header("Content-Type", "application/json;");

    if(req.method == 'OPTIONS') {

        //让options请求快速返回

        res.sendStatus(200);

    } else {

        next();

    }

});

与原文相比,这里对于OPTIONS请求提前返回了,因为这个请求作用只是让客户端从服务器端获取返回的Respose Headers 判断是否包含跨域参数,没有后续操作;

如果是个正常的get操作,比如 查询商品列表,你就必须让你进入处理链的下游继续处理!

但是要注意的一点是,这段代码需要放在路由前面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值