zl程序教程

您现在的位置是:首页 >  前端

当前栏目

ajax跨域,携带cookie

2023-09-11 14:21:22 时间

解决方案很简单。

直接上代码:


web.xml中:

添加了 cors来解决跨域

(奇怪的是,credentials设置为false。反正这个是照搬的。。。)

  <filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
      <param-name>cors.allowed.origins</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>cors.support.credentials</param-name>
      <param-value>false</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


或者在代码中设置:

response.setHeader("Access-Control-Allow-Origin", "*");
		response.setHeader("Access-Control-Allow-Headers", "*");
		response.setHeader("Access-Control-Allow-Methods", "GET, POST");
		response.setHeader("Access-Control-Allow-Credentials", "true");

ajax:

$.ajax({  
                type: "post",  
                url: "Get",
                crossDomain: true,                 //加这二行支持ajax跨域,允许跨域
                xhrFields: {withCredentials: true},//加这二行支持ajax跨域,携带凭证   
                success: function (data) {  
                    alert(data);  
  
                }  
            });