web跨域設置

在web.xml中添加如下過濾器nginx

<!-- 若是nginx服務器中有跨域訪問的配置,則須要註釋掉如下跨域處理,不然須要添加如下的跨域配置 -->
    <!-- 跨域配置start -->
    <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, OPTIONS</param-value>
        </init-param>
        <init-param>
            <param-name>cors.supportedHeaders</param-name>
            <param-value>Accept, Origin, X-Requested-With, Content-Type, If-Modified-Since, Last-Modified, Content-Length, Content-Range, Content-Disposition, Content-Description</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>
    <!-- 跨域配置end -->web

ajax處理:ajax

$.ajax({
   type: "GET",
   url: "http://localhost:8888/crbcHQimis/specialplanmanage/d7194c5a32ca43fc94684579ab42d3d6?userAcct=fansp",
   dataType: "json",
   success: function(data) {
     //.....
   }
});

不過根據瀏覽器的保護規則,跨域的時候咱們建立的sessionId是不會被瀏覽器保存下來的,這樣,當咱們在進行跨域訪問的時候,咱們的sessionId就不會被保存下來,也就是說,每一次的請求,服務器就會覺得是一個新的人,而不是同一我的,爲了解決這樣的辦法,須要在ajax請求時增長 xhrFields:{withCredentials:true},以下:json

$.ajax({
   type: "GET",
   url: "http://localhost:8888/crbcHQimis/specialplanmanage/d7194c5a32ca43fc94684579ab42d3d6?userAcct=fansp",
   dataType: "json",
   xhrFields:{withCredentials:true},
   success: function(data) {
      //.....
   }
});
相關文章
相關標籤/搜索