首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  前端开发

写代码的时候遇到了一个问题,一个 vue 项目,使用 axios 进行 ajax 请求的时候,在 firefox 上面遇到了跨域问题。

  •  
  •   WillieYang · 207 天前 · 1020 次点击
    这是一个创建于 207 天前的主题,其中的信息可能已经有所发展或是发生改变。

    后端对跨域已经做了处理,在 chrome 上面可以完美跨域,但是在 firefox 上面的话,前端对后台先发送了一个 options 的预检请求,然后服务器端对预检请求做出的回应也是 200 OK,也返回了相应的 CORS 相关的头信息字段,问题是,之后的话,按理说浏览器会再向后台发送一个 get 的请求,从而得到相应的数据,就像在 chrome 上面一样,但是在 firefox 上面,就没有进一步的请求了,有遇到过相似问题的老哥吗?

    9 回复  |  直到 2018-12-08 17:30:33 +08:00
        1
    WillieYang   207 天前
    我在 firefox 上面,如果使用了那个 CORS 的插件的话,是可以进行跨域的,不知道是 axios 的原因还是 firefox 的原因,难道是前端在发送完预检请求并成功得到后台的 response 之后,再次发送的 http get request 被浏览器拦截了吗?感觉很奇怪的样子。
        2
    WillieYang   207 天前 via Android
    edge 也可以,就是 firefox 不行
        3
    olOwOlo   207 天前
    按理说 GET 不会触发预检啊,你确定 GET 的返回头里有 Access-Control-Allow-Origin ?
        4
    WillieYang   207 天前 via Android
    @olOwOlo 我看了一下,是有的
        5
    olOwOlo   207 天前
        6
    WillieYang   207 天前 via Android
    @olOwOlo 自定义头部是什么意思啊?是 access-control-allow-origin 设置成一个特定的 url 吗?
        7
    zenxds   207 天前
    简单请求是不需要发送 option 请求确认的,option 请求就是向服务端请求是否允许客户端做一些特殊操作,比如读取一些自定义头部之类的,这个时候 access-control-allow-origin 不能设置为*,要返回请求的 Origin 字段
        9
    bajie   71 天前
    不知道解决了吗,我遇到的问题一毛一样,我是因为在头部自定义了一个 username
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3988 人在线   最高记录 4346   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1