最近在做運動城專案,這乙個專案下面有多個子專案,如主資料專案,pos專案等。主資料專案的網域名稱為www.topmall.com,pos專案的網域名稱為pos.topmall.com。即兩個專案的主網域名稱相同,子網域名稱不相同。
我們的登陸認證是放在主資料專案的,即進入pos專案如果檢測未登陸,是先要呼叫主資料的乙個登陸介面登陸後才可以訪問的。這時候跨域問題就出現了,進入pos專案之後跳出登陸框,輸入使用者名稱密碼請求主資料的進行登陸,看到返回的response裡面也有set-cookie,但是再次請求pos專案的 資源時卻報錯了。除錯進去看發現後台獲取不到當前登陸的使用者,檢視請求頭發現並沒有把登陸時返回的cookies設定到第二次請求的頭裡面。
查詢資料才知道登陸請求的主資料專案與pos專案不屬於同乙個子域,即存在跨域,跨域請求想要帶上cookies必須在請求頭裡面加上}設定,於是在index介面加上了如下**:
1
2
3
4
5
然後在後台**返回response時做如下處理:
再次訪問,發現請求頭已經可以攜帶cookies。
JSONP跨域請求
看到jsonp我們會很自然的想到json,但它們卻有很大的不同,json是一種輕量級的資料交換格式,而jsonp可以說是一種非官方的資料互動協議。jsonp json with padding 利用jsonp可以從別的網域名稱下獲取資料,即跨域獲取資料。由於同源策略不允許xmlhttprequest...
JSONP跨域請求
前端常用ajax請求來實現不重新整理頁面方式向伺服器請求資料,但它受瀏覽器同源策略的影響而無法實現跨域請求。然而script標籤src屬性的引用卻是不受跨越限制的,基於此可以傳送跨域請求,服務端不再是返回json格式的資料,而是返回一段呼叫某個函式的js 在src中進行了呼叫。您所在的城市天氣情況 ...
jsonp跨域請求
ajax是不能跨域的,但是利用jsonp是可以實現跨域的,博主今天記錄一篇jsonp跨域的例項。通俗的說,就是利用的特殊性去請求伺服器,伺服器返回josnp格式資料,jsonp資料格式 function json 換句話說,就是把json資料報裝在乙個函式引數中返回,然後呼叫本地js中的functi...