美文网首页
关于UC浏览器再使用系统的时候出现跨域提示问题

关于UC浏览器再使用系统的时候出现跨域提示问题

作者: 小钟钟同学 | 来源:发表于2020-06-08 10:30 被阅读0次

在使用VUE写后台系统的时候,发现谷歌的浏览器预校验没有提示相关跨域请求,而使用UC浏览器的时候,却提示了

image.png
login:1 XMLHttpRequest cannot load http://xxxxx.natappfree.cc/sys/login. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

分析了一下,主要原因是再发起预校验的时候我们的请求头里多了一项(所有浏览器都会有):

image.png

分析了一下再发起预校验的地方,我们flask后端的响应头那也设置了对于的允许的自定义的请求字段:


image.png

但是测试发现,UC 对 ‘*’的不起作用,必须要明细到具体的允许的字段信息。有点奇葩!

所以最后只能改成!

   @app.after_request
    def after_request(response):
        '''
        收到请求后的钩子
        :param response:http返回结构体
        :return:
        '''
        # # 注册跨域
        response.headers['Access-Control-Allow-Origin'] = '*'
        response.headers['Access-Control-Allow-Credentials'] = 'true'
        # response.headers['Access-Control-Allow-Origin'] = '*'
        # 注意这里的方法的名称,或直接的写GET,POST,PUT,OPTIONS,DELETE
        response.headers['Access-Control-Allow-Methods'] = '*'
        # response.headers['Access-Control-Allow-Headers'] = '*'
        # response.headers['Access-Control-Allow-Headers'] = '*222222222'
        # 这个地方不能直接的写* 号, 当前端发起跨域  解决axios出现的Request header is not allowed by Access-Control-Allow-Headers in preflight response
        # 需要明确支持的头部信息
        # login?redirect=%2F:1 XMLHttpRequest cannot load http://ikp5c9.natappfree.cc/sys/login. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response

        # 注意一点 涉及到跨域的时候,涉及自定义头部信息的时候,都需要再次加上

        allow_headers = 'School-Teacher-Token,school-teacher-token,x-access-token,Referer, Accept, Origin, User-Agent,X-Requested-With, Content-Type, X-File-Name'
        response.headers['Access-Control-Allow-Headers'] = allow_headers

        # 请求完成最终的日志处理
        register_link_end_log_record_handler(flask.request, response)

        return response

且其他新增的自定义的请求的头的字段信息,也必须的给加上才可以!比如的自定义提交的 school-teacher-token,x-access-token的请求头信息!

相关文章

  • 关于UC浏览器再使用系统的时候出现跨域提示问题

    在使用VUE写后台系统的时候,发现谷歌的浏览器预校验没有提示相关跨域请求,而使用UC浏览器的时候,却提示了 分析了...

  • 解决跨域问题

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现...

  • 跨域问题

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现...

  • 11 跨域问题简介及常用的解决方案

    使用devServer解决跨域问题 在开发阶段很多时候需要使用到跨域,何为跨域?请看下图:图片1 跨域问题的出现主...

  • SpringMVC 进行ajax跨域请求访问

    关于 springmvc 3.x 版本对ajax跨域请求访问 ajax 请求后,浏览器出现跨域的问题那么在当前环境...

  • 本地调试 -- Mac Chrome 解决跨域-CORS-问题

    一般本地调试的时候,某些资源需要开启跨域访问mac chrome浏览器解决跨域(CORS)问题, 跨域直接使用插件...

  • Java跨域问题以及如何使用Cors解决前后端 分离部署项目所遇

    Java跨域问题以及如何使用Cors解决前后端 分离部署项目所遇到的跨域问题 什么是跨域 跨域,指的是浏览器不能执...

  • ionic2/ionic1常见问题-跨域(No 'Acc

    问题描述 如下图所示,当我们的app请求后台服务时,就会出现浏览器跨域问题 什么是跨域 首先要明确,跨域是浏览器的...

  • 调试跨域接口

    问题来源 由于受到浏览器同源策略限制,当我们使用ajax请求跨域接口的时候会出现以下告警 方法 通过参数配置浏览器...

  • 前端跨域

    什么是ajax跨域 ajax跨域的原理 ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”,可以参...

网友评论

      本文标题:关于UC浏览器再使用系统的时候出现跨域提示问题

      本文链接:https://www.haomeiwen.com/subject/fvhazhtx.html