浏览器跨域访问的坑

 踩坑背景

        工作中要求提供一个restfull接口给外部获取信息,开开心心得编译py,捣鼓证书。

        不久后,客户大喊拉闸。

啥是跨域啊?

        简单的说就是我现在在www.a.com的域名站点下,但是我企图访问一个www.b.com的资源,这时候浏览器就称这种行为为跨域。

        跨域问题出现:XMLHttpRequest at '‘ has been blocked by CORS policy

        如何处理引用:浏览器跨域 Access-Control-Allow-Headers 问题 - 掘金

        

坑坑复现

        客户在自己的web系统前端访问了我的接口,获取了特定的数据参与逻辑。而他们说死活报错,报错相关信息是跨域问题。

        1、浏览器打开 b.test.com 域名,按 F12 进入控制台(Console), 输入如下代码然后回车回车,在网络(Network)即可查看到相应的请求结果。

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://localhost:8090/agent',true);
xhr.setRequestHeader("aaa", "application/json")
xhr.setRequestHeader("hbb", "application/json2")
xhr.send('')
xhr.onload = function(e) {
    var xhr = e.target;
    console.log(xhr.responseText);
}

跨域处理

         1、其实跨域操作在发起请求前会提前发送一个 OPTIONS 方法的请求,而该请求头和响应头内包含数据。

         2、注意除开options方法,请求数据的方法中响应头中也应带上该响应头的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值