ExpressJS中POST方法上的变量会话的范围
Scope of variable session on POST method in ExpressJS
node中POST方法中的req.session.myvar = 'a value'.js with express.js似乎只有一个局部范围。我无法从其他方法获取 req.session.myvar 值。但是,如果我将值保存在GET方法中,则范围似乎具有球形范围。我需要开机自检方法做同样的事情。
var express = require('express'),
port = 3000;
var app = express();
app.use(express.bodyParser());
app.use(express.cookieParser(''));
app.use(express.session({ secret: 'secret'}));
app.use(express.static(__dirname + '/public/'));
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.post('/create', function(req, res) {
req.session.firstName = 'jhon';
console.log(req.session);
});
app.get('/create', function(req, res) {
console.log(req.session);
req.session.lastName = 'Doe';
res.render('create');
});
app.post('/create_occur', function(req, res) {
console.log('/create_occur');
console.log(req.session);
});
app.listen(port);
console.log('Listening on port ' + port);
这是我用来进行测试的简单 .ejs。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/js/socket.io.js"></script>
</head>
<body>
<section>
<input type="text" id="title" placeholder="Title">
<input type="submit" id="enviar" value="Enviar">
</section>
<section>
<input type="text" id="name" placeholder="Nombre">
<input type="submit" id="nombre" value="Nombre">
</section>
<script>
$(document).ready(function() {
$("#enviar").click(function() {
var title = $('#title').val();
$.ajax({
url: '/create',
type: 'POST',
dataType: 'json',
data: {'title': title}
});
});
$("#nombre").click(function() {
var name = $('#name').val();
$.ajax({
url: '/create_occur',
type: 'POST',
dataType: 'json',
data: {'title': name}
});
});
});
</script>
</body>
</html>
请帮帮我,我不明白为什么会这样。我在博客和视频中看到几个类似的例子,他们这样做并且有效。
感谢。
好的,我终于想通了!!这是一个愚蠢的问题/被遗忘了。我要添加一行来响应请求:
res.end();
或:
res.redirect('/');
再见,我希望这能有所帮助。
相关文章:
- js命名空间和变量范围
- 如何确保变量范围在这个循环中得到维护
- 在两个浏览器选项卡之间共享变量范围
- 文件API中的Javascript变量范围
- javascript和jQuery的嵌套对象函数中的变量范围
- JavaScript 函数变量范围问题
- JavaScript 中变量范围的问题
- Javascript - 揭示对象和变量范围
- 主干.js(具有 Require.js)变量/范围访问问题
- Javascript 变量范围未定义
- 如何绕过javascript变量范围
- IE 8变量范围错误
- 了解 Javascript 变量范围
- 控制变量范围
- 函数之间的Javascript变量范围问题
- 这种减少if语句中声明的变量范围的模式是一种好的做法吗
- 用于未初始化的局部变量的javascript变量范围
- 变量范围
- 请求节点模块变量范围
- Javascript 和 JQuery dom 全局变量范围