java用Cors方式让Ajax可以跨域访问

来源:互联网 发布:淘宝中差评处理 编辑:程序博客网 时间:2024/05/17 06:50

原博地址:https://my.oschina.net/tbaby/blog/501333

找了一下午的资料,大部分都是一篇文章你抄过来我再抄,一个字都不变,能跑通也行啊,还跑不通。唉。

具体实现:

javaWeb项目web.xml增加Filter如下:

<!-- Ajax跨域访问 -->  <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>


需要jar包,maven格式:

<!-- Ajax跨域访问 Cors方式 --><dependency><groupId>com.thetransactioncompany</groupId><artifactId>cors-filter</artifactId><version>2.5</version></dependency><dependency><groupId>com.thetransactioncompany</groupId><artifactId>java-property-utils</artifactId><version>1.9</version></dependency>


前台调用代码,有文章说,按照平常写就行,我反正死活不行。按照下面方式就可以,不知为什么。

$.ajax("http://127.0.0.1:8080/helloworld/test", {    type: "POST",    xhrFields: {        withCredentials: true,        useDefaultXhrHeader: false    },    data: {},    crossDomain: true,    success: function(data, status, xhr) {    if(status=='success'){    console.log(xhr.responseText);    }    }});


打完收工!






0 0
原创粉丝点击