无法使用VUE-COOKIES在VueJS中设置Cookie DOMAIN

时间:2019-06-14 19:06:20

标签: javascript cookies vuejs2

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

我正在使用Axios将来自VueJS应用程序的HTTP POST请求发送到另一台计算机上的后端服务器。响应中返回的值用于创建cookie,例如“ exampleName”:“ exampleValue”。到目前为止一切顺利。

  

问题是在我尝试使用包含后端服务器地址的域创建cookie时。

     

没有正确的域值,我在所有请求中都获得401状态

在测试期间,我将devtools中的域值手动更改为所需值(后端服务器的地址),然后请购单开始工作(停止接收401状态并开始收到200 OK)。


使用此功能时:

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

正确地创建了该cookie,我可以在Chrome devtools中看到它,

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

enter image description here

  • 所需:

enter image description here

根据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

来自docs,但没有成功...


我在想正确的方法吗? 还有其他方法可以处理不同服务器上的请求吗?

欢迎任何帮助。预先感谢!

1 个答案:

答案 0 :(得分:0)

如@Taplar所述:

  

无法为不是您的自己域的父级的域创建Cookie。例如, myplace.me.com 可以为 myplace.me.com me.com 创建cookie,但不能为任何东西创建cookie 其他。

     

来源取决于URL中的内容。您的浏览器URL中的内容为:

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

确定您的来源以及所要查找的Cookie。


  • 我将尝试在托管后端API的同一台计算机上部署VueJS应用程序,也许可以。谢谢。

  • 更新:,如@Lawrence Cherone所述:
  

“后端”应设置cookie

我重写了后端代码,它起作用了!非常感谢!!!