岩王弟君
2021-07-21 00:09
采纳率: 100%
浏览 117

为啥我的火狐可以拦截跨域访问,Chrome却没有?

前端发送axios代码:

        created() {
            const _this = this

            axios.get('http://localhost:8181/book/findAll')
            .then(function(res) {
                _this.books = res.data
            })
        }

访问前端页面的url是 http://localhost:8080
后端接口的url是http://localhost:8181/book/findAll
端口不一样,按理说这算是跨域了,我的Chrome出了啥问题?(黑人问号.jpg)

火狐:

阻止了跨域访问,没有拿到数据

img



Chrome:

跨域访问没有被阻止,拿到了数据

img

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-微编程 2021-07-21 08:41
    已采纳

    get请求被浏览器跨域的同源策略请求机制拦截,chrome浏览器会拦截跨域请求,但是只是拦截返回结果,请求还是会被发送到服务器。请求因为跨域被拦截后,会改成 OPTIONS 请求送达服务器,这样服务器就可以知道有人在请求。你可以使用post处理数据,这样谷歌也会报错,说跨域请求被拦截了,需要配置跨域请求或者跨域代理

    1 打赏 评论
  • 请问,后端有没有处理跨域访问呢?

    打赏 评论
  • chrome能跨域请求不好吗?
    可能是你chrome 中设置解除了跨域限制。比如你chrome.exe的快捷方式中加了启动参数
    chrome.exe --args --disable-web-security --user-data-dir

    打赏 评论