簡體   English   中英

JavaScript中的JSESSIONID-Open Layers 3如何獲取它?

[英]JSESSIONID in javascript - How can Open Layers 3 obtain it?

我創建了一個Open Layers 3 Map,可以從我的服務器上加載其圖塊,我不傳輸用戶ID,它是服務器端,因此如果沒有用戶登錄,該地圖將無法正常工作。

到目前為止,一切正常。 如果有人單擊地圖上的某個功能,我也想向服務器發送一些請求,同時也沒有發送用戶ID,那么無論如何應該有一個會話。 但是,如果我向服務器發送AJAX請求,則請求中將缺少JSESSIONID,並且每次發送請求時都會獲得一個新的會話ID。

我知道這是由於HttpOnly標志引起的,但令我感到煩惱的是,開放層如何在其請求中包含JSESSIONID,但我自己的Ajax請求卻沒有得到它。

另請參見圖片以了解區別:

-GetTile是由Open Layers生成的請求

-GetStarMapData是由自己的書面Ajax調用生成的請求

這兩個請求都只訪問服務器上的一個servlet。

在此處輸入圖片說明

跨域XHR請求(屏幕快照中的Origin表示您正在發出請求)僅在您明確啟用憑據支持時才包含cookie。

xhr.withCredentials = true;

這將使其成為一個預先處理的請求,因此您將必須配置服務器以正確響應OPTIONS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM