0

middleware.json に cookie-session を追加しました ログイン時のセッションに id を追加し、関数で使用したいaddLead

"session": {
    "cookie-session": {
      "params": {
        "name": "id",
        "secret": "secret",
        "keys": [ "key1", "key2" ],
        "httpOnly": "false"
      }
    }
  }

ログイン:

router.post("/login", function (req, res)
    {
        req.session.id = req.body.id
        req.sessionOptions.id = req.body.id
        //...
    })

addLead

router.post("/addLead", function (req, res)
    {
        console.log(req.session.id)
        console.log(req.sessionOptions.id)
    })

addLead呼び出されると、私は得る

未定義

未定義

テストに使用するページ:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="https://code.jquery.com/jquery-3.1.0.min.js"
            integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="
            crossorigin="anonymous"></script>

    <script>
        function log(data)
        {
            console.log(JSON.stringify(data))
        }
        $.post("http://localhost:3000/login", { name: "John Smit", id: 15 }, function (data)
        {
            log(data)
            $.post("http://localhost:3000/addLead", {
                name: "Anton Berezin", phone: "337225", model: "1234",
                mark: "Toyota", yearFrom: "2014", yearTo: "2017"
            }, function (data)
            {
                log(data)
                alert(JSON.stringify(data))
            })
            .fail(function (error)
            {
                log(error)
            })

        })
        .fail(function(error)
        {
            alert(JSON.stringify(error))
        })
    </script>
</head>
<body>

</body>
</html>
4

1 に答える 1

0

「cookie-session」は「express-session」に置き換える必要があります。暗号化されたCookieを提供しますが、これは何らかの方法で復号化する必要があります...

于 2016-07-26T17:22:37.127 に答える