我在Angular HTTP请求客户端中的代码如下:
var to_send = {};
to_send["something"] = to_append;
to_send = JSON.stringify(to_send);
var headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://localhost:8080/',
to_send, {
headers: headers
})
.map((res) => this.parseResponse(res) );
我的NodeJS代码如下:
var io_session = require("express-socket.io-session");
var e_session = require("express-session");
var sessionFileStore = require('session-file-store')(e_session);
var e_session = e_session({
store: new sessionFileStore({ path: './user_sessions' }),
secret: "2Cfeafeafeaf",
resave: true,
saveUninitialized: true
});
app.use(function(req, res, next) {
///console.log('Current User:', req);
next();
});
app.post("/",function(req,res){
if(body.something){
//SAVE USER ID TO TEST
req.session.cookie.id = 2;
}else(body.somethingnd){
console.log("req.session");
// SESSION IS NOT PERSISTENT! THIS DOES NOT SHOW THE ID of the user!!
}
});
app.use(e_session);
app.use(enableCORS);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
preparedApp = require("http").createServer(app);
var io = require("socket.io")(preparedApp);
io.use(function(socket, next){
next();
});
io.use(function(socket, next) {
e_session(socket.handshake, {}, next);
});
这是从客户端发送第二个请求的代码:
var to_send = {};
to_send["somethingnd"] = to_append;
to_send = JSON.stringify(to_send);
var headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://localhost:8080/',
to_send, {
headers: headers
})
.map((res) => this.parseResponse(res) );
为什么这不起作用?是否在Angular中自动处理HTTP会话?为什么他们不使用NodeJS?这到底发生了什么?