ノードjsを初めて使用しました。私はノードでクッキーを取得して設定する方法を理解しています。 私はVisual Studioを使用しています。私は、自動的に作成される組み込みIIS Expressを使用しています。 私server.js上のサーバー・コードがあります:ノードjsでクッキーを設定できません
var express = require('express');
var cookieParser = require('cookie-parser')
var app = express();
app.use(cookieParser())
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:61342');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.get('/setCookie/:param', function (req, res) {
res.cookie('testCookie', req.params.param);
console.log('cookie created!');
res.send();
});
var server = app.listen(8001, 'localhost', function() {
var host = server.address().address
var port = server.address().port
console.log("Server listening at http://%s:%s", host, port)
});
は、これはクライアントコードです:
function server() {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://localhost:8001/setCookie/cookie1", true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert("ok");
}
}
xmlhttp.send();
}
私は(ちょうどテスト用)]ボタンをクリックしたときに、私はこのfuncionを呼び出します。 localhost:8001/getCookie/cookie1と入力すると、正確にクッキーが設定されていることがわかります(私はブラウザのコンソールでdocument.cookieと入力して見ることができます) localhostでプロジェクトを実行すると:61342/
Request URL:http://localhost:8001/setCookie/cookie1
Request Method:GET
Status Code:200 OK
Remote Address:127.0.0.1:8001
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:X-Requested-With,content-type
Access-Control-Allow-Methods:GET, POST, OPTIONS, PUT, PATCH, DELETE
Access-Control-Allow-Origin:http://localhost:61342
Connection:keep-alive
Set-Cookie:testCookie=cookie1; Path=/
をしかし、私は、ブラウザのコンソールdocument.cookieに入力するとき、私は何も表示されません。機能サーバを()を呼び出すボタンをクリックして、私はこの応答を取得します。 これをどのように解決できますか? 忍耐ありがとうございます