美文网首页
跨域访问的解决方法

跨域访问的解决方法

作者: wyude | 来源:发表于2016-11-28 13:58 被阅读0次
  • 跨域访问是什么,百度一下你就知道。

  • 什么情况下能确定遇到跨域问题了呢?

是使用js向服务起发送的请求

没有返回结果,F12后发现错误信息包含这个:XMLHttpRequest cannot load http://……. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://……' is therefore not allowed access.

服务器控制台,发送的请求是get或者post,但显示的是options。为什么变了呢?通过OPTIONS请求握手一次的方式实现跨根域发送请求,就是先用它了试试能请求不。


因为懒,一直想找最简单的办法,所以简单可行的主要有以下三个方法:

  • 给响应添加response.setHeader('Access-Control-Allow-Origin:*');,这个最简单了。但是在公司的eclipse封装后的平台上,我们没找到这个应该放在哪里…………
  • Spring MVC 从4.2版本开始增加了对CORS的支持,可以使用@CrossOrigin注解进行细粒度的配置。同理,不知道用在哪里……
  • Tomcat下的配置,这个相比上两个要单独下载jar文件,但是更容易操作了。
    下载cors-filter-1.7.jar,Java-property-utils-1.9.jar这两个库文件,放到lib目录下。(可在http://search.maven.org上查询并下载。)工程项目中web.xml中的配置如下:
<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    <init-param>
     <param-name>cors.allowOrigin</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
     <param-name>cors.supportedMethods</param-name>
        <param-value>GET, POST, HEAD, PUT, DELETE</param-value>
    </init-param>
    <init-param>
     <param-name>cors.supportedHeaders</param-name>
        <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
    </init-param>
    <init-param>
        <param-name>cors.exposedHeaders</param-name>
        <param-value>Set-Cookie</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportsCredentials</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

相关文章

  • 跨域访问的解决方法

    跨域访问是什么,百度一下你就知道。 什么情况下能确定遇到跨域问题了呢? 是使用js向服务起发送的请求 没有返回结果...

  • 一文了解跨域问题

    什么是跨域 不同域名之间的资源访问 解决方法 JSONP,CROS JSONP 原理:html带src属性的标签都...

  • 跨域

    什么是跨域访问 跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 C网站,包括提交内容和获取...

  • 2020-07-08 后端接口的跨域访问

    问题:后端给的接口和前端开发不在一个域中,开发时访问不到后端给的接口。 解决方法参考:Axiso解决跨域访问 1、...

  • window.URL 与 跨域

    跨域 关于跨域问题,简单来说就是通过地址访问资源时,所用的协议不同导致无法访问目标。 网上已经有很多关于跨域的主流...

  • 跨域

    参考资料 HTTP访问控制(CORS)跨域解决方案跨域详解

  • SpringBoot 解决跨域问题

    SpringBoot 跨域问题解决方法

  • iframe标签的使用以及刷新跨域url存在跨域问题的解决

    ifram标签的代码: 刷新代码: 造成了iframe跨域引用其他url造成拒绝访问的解决办法 解决方法:前端使用...

  • C# Web直接上传视频或者文件到OSS

    代码 解决本地调试跨域问题 设置跨域规则:找到OSS存储——Bucket列表——基础设置——跨域访问——设置 暴露...

  • Android WebView高风险问题解决

    A.WebView跨域访问漏洞: 在Android应用中,WebView开启了file域访问,允许file域访问h...

网友评论

      本文标题: 跨域访问的解决方法

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