跨域遇到的一系列问题

栏目: JavaScript · 发布时间: 5年前

内容简介:前端使用的vue,后端使用的express。没有使用vue的proxyTable,就是作为后端解决一下这个跨域解决办法:设置Access-Control-Allow-Orign。我的后端一开始只设置了允许http://pylon.xueersi.com域名,但是没有带上端口号。当前端设置withCredentials:true时,表示前端允许跨域的后端接口种cookie

前端使用的vue,后端使用的express。没有使用vue的proxyTable,就是作为后端解决一下这个跨域

解决代码

app.all('*', function (req, res, next) {
    res.header('Access-Control-Allow-Origin', 'http://h5.xesv5.com:8081')
    res.header('Access-Control-Allow-Credentials', true)
    res.header("Access-Control-Allow-Headers", "Content-Type,Accept,X-Requested-With,traceid,rpcid")
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS")
    res.header("Content-Type", "application/json;charset=utf-8")
    if (req.method == 'OPTIONS') {
        res.sendStatus(200)
    } else {
        if (req.path.indexOf('/getUserInfo') < 0 && (!req.session || !req.session.userInfo)) {
            res.send({
                stat: 1230,
                message: '登录失效'
            })
        } else {
            next()
        }
    }
})
复制代码

问题一:域名不一致的跨域提示

跨域遇到的一系列问题

解决办法:设置Access-Control-Allow-Orign。我的后端一开始只设置了允许http://pylon.xueersi.com域名,但是没有带上端口号。

跨域遇到的一系列问题

问题二: 后端没有设置Access-Control-Allow-Credentials

当前端设置withCredentials:true时,表示前端允许跨域的后端接口种cookie

跨域遇到的一系列问题

解决办法:后端也需要在请求头设置Access-Control-Allow-Credentials:true

问题三:设置Credentials后,Access-Control-Allow-Origin需要指定域名,不可以设置*

跨域遇到的一系列问题

问题四:前端在请求头上设置了参数,后端需要允许请求头设置该参数

跨域遇到的一系列问题

解决办法:如果前端需要在请求头里加上token字段,后端这边需要Access-Control-Allow-Headers设置

res.header("Access-Control-Allow-Headers", "Content-Type,Accept,X-Requested-With,token")
复制代码

补充:axios请求头设置参数

config.headers.common['token'] = 123
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

马云内部讲话

马云内部讲话

阿里巴巴集团 / 红旗出版社 / 2010-12 / 28.00元

马云的话有什么其妙的地方? 为什么员工会把自己的CEO当作偶像? 世界都处在迷茫期,他如何确立阿里巴巴的价值观? 他怎样给已经是富翁的员工寻找新的激情? 风暴袭来,他怎么克服内心的恐惧? 他在互联网合纵连横的动机何在?一起来看看 《马云内部讲话》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具