跨域访问的解决方法

2016-11-28  本文已影响0人  wyude

是使用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请求握手一次的方式实现跨根域发送请求,就是先用它了试试能请求不。


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

<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>
上一篇 下一篇

猜你喜欢

热点阅读