簡體   English   中英

無法使用VUE-COOKIES在VueJS中設置cookie DOMAIN

[英]Cannot set the cookie DOMAIN in VueJS using VUE-COOKIES

  • “vue”:“^ 2.6.10”
  • “vue-cookies”:“^ 1.5.13”

我正在使用Axios從VueJS應用程序向另一台機器上的后端服務器發送HTTP POST請求。 響應中返回的值用於創建類似“exampleName”的cookie:“exampleValue”。 到現在為止還挺好。

問題是當我嘗試使用包含后端服務器地址的域創建cookie時。

如果沒有正確的域值,我會在所有請求中獲得401狀態

在測試期間,我在devtools中手動將域的值更改為所需的值(后端服務器的地址),然后請求開始工作(停止接收401狀態並開始接收200 OK)。


使用該功能時:

 api.post('http://...', form).then(response => {
      $cookies.set("keyExample", response.data);
 });

cookie是正確創建的 ,我可以在Chrome devtools中看到它,

  • 但仍然沒有所需的域值:

在此輸入圖像描述

  • 期望:

在此輸入圖像描述

根據vue-cookies庫的文檔,我可以使用類似的東西:

$cookies.set (keyName, value [, expireTimes [, path [, domain [, secure]]])

使用所需的域創建cookie,但每當我嘗試這個時它就會失敗,甚至不會創建cookie。

我還在努力:

// set domain
this.$cookies.set("key","value",null, null, "192.168.1.1"); // domain address

來自文檔 ,但沒有成功......


我在想正確的方法嗎? 有沒有其他方法來處理不同服務器上的請求?

歡迎任何幫助。 提前致謝!

正如@Taplar解釋的那樣:

不能為不屬於您自己域的域的域創建cookie。 例如, myplace.me.com可以為myplace.me.comme.com創建一個cookie,但不能創建任何其他cookie。

原點取決於URL中的內容。 無論您的瀏覽器網址是什么:

[protocol]://[domain]:[port]
http://  192.168.1.1 :8080

這決定了你的起源,以及餅干的用途。


  • 我將嘗試在托管后端API的同一台機器上部署VueJS應用程序,這可能會有效。 謝謝。

  • 更新:正如@Lawrence Cherone解釋的那樣:

“后端”應該是設置cookie

我重寫了后端代碼,它工作正常! 非常感謝你!!!

暫無
暫無

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

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