1. 程式人生 > >關於Ajax提交後session裡面為空的問題

關於Ajax提交後session裡面為空的問題

在專案裡面遇到這麼一個問題,當點選登入後把使用者資訊寫進session。但是問題就出現在ajax提交以後,並沒有實時的寫進sessio。所以導致無法在前端用<s:if test="#session.users!=null">判斷是否登入成功。於是上網找到了相關答案。

以下為引用:

仍定為跨域問題。

跨域本是出於安全考慮:同源策略即JavaScript或者Cookie只能訪問同域下的內容;也因為這個才會出現好多莫名其妙的問題。

提起跨域就能想到CORS(跨域資源共享,cross-origin resource sharing)可以讓AJAX實現跨域訪問。CORS允許一個域上的網路應用向另一個域提交跨域AJAX請求。

首先前端在ajax請求時新增

xhrFields: {
withCredentials: true
},

withCredentials值為真則是允許跨域名請求;

原始碼如下

 $.ajax({
        url:$rootScope.interfacePath+"checkpiccode/",
        dataType:"json",
        xhrFields: {
          withCredentials: true
        },
        data:{mobile: mobile,code:tpyzm},
        type:"get",
        success:function(data){
         
        },
        error:function(data){
          console.error(data);
        }
      }); 
 
 
後端需要利用CORS在一個域上新增標頭允許另一個域的請求訪問。
頭資訊設定如下:
header(“Access-Control-Allow-Origin:允許訪問的域名”)
如果需要任何域來訪問可以設定為:
header(“Access-Control-Allow-Origin:*”)

感謝這位仁兄 記錄一下 謝謝 原部落格地址:http://www.cnblogs.com/shludan/p/5552062.html