angularjs - Cookie 在 localhost 上运行良好,但在 VPS 上不起作用

标签 angularjs node.js cookies vps

我正在使用nodejs和angularjs 1.6.4。在 localhost 上一切都运行良好,但是当我通过 Github 将代码推送到 Digital Ocean Droplet 时,cookie 不起作用。我保存到 cookie 的所有内容都不会出现在 Cookie 存储中。为什么会发生这种情况?

更新 当我转到 VPS 上的登录页面时,出现警告:“此页面包含在非安全上下文中输入的密码或信用卡。地址栏中已添加警告”

相关代码如下:

$scope.login = function () {

      UserService.login($scope.user).then(function (result) {
        if (result.data.success) {
          $rootScope.userLogin = result.data.data.name;

          //------------------
          var day = new Date();
          day.setDate(day.getDay() + 30);

          var options = {
            domain: "localhost",
            httpOnly: true,
            expires: day
          };
          // cookie does not work, nothing in Cookie Storage
          // but it works perfectly on localhost
          $cookies.put('token', result.data.data.token, options);
          $cookies.put('name', result.data.data.name, options);
          // the session storage work greatly
          $sessionStorage.user = 'heheeheh';
          flash.success = result.data.message;
          $state.go('home');
        } else {
          flash.error = result.data.message;
        }
      });
    } 

更新:

我在亚马逊 ec2 上创建了另一个 VPS,但它仍然无法工作。

最佳答案

我发现只需将domain选项从localhost更改为服务器的IP

关于angularjs - Cookie 在 localhost 上运行良好,但在 VPS 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46585441/

相关文章:

node.js - node-sass-middleware 不编译 sass 文件

javascript - 使用 imagemin-contrib (Grunt) 进行图像压缩

python请求启用cookies/javascript

asp.net - HttpContext.Request.Cookies和HttpContext.Response.Cookies之间的关系

javascript - 使用 AngularJS 发出请求

AngularJS:从父 Controller 访问放置在嵌入指令内的表单的 formController

javascript - 输入 Controller 调用函数 angularJS

angularjs - 使用AngularJS排除url中的路径

node.js - 如何让 Docker 容器和 Node 应用程序在 EC2 上运行?

javascript - 尝试使用 ngx-cookie 获取 cookie,但如果我 F5 页面,则为 'document is not defined'