小编msc*_*dex的帖子

使用NodeJS和Express 4.x的会话(req.session undefined)

首先抱歉我的英语不好.我正在学习,我正在做一个学术项目并遇到了一个问题.我记不起会话变量了.

的package.json

  "dependencies": {
    "body-parser": "^1.7.0",
    "ejs": "~1.0.0",
    "express": "^4.8.7",
    "express-session": "^1.11.3",
    "ini": "^1.3.4",
    "mysql": "^2.8.0",
    "winston": "^1.0.1"
}
Run Code Online (Sandbox Code Playgroud)

server.js

var express = require('express');
var session = require('express-session');
var app = express();
...
require('./router/main')(app, language, connection, logger);

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.use(express.static(__dirname + '/public'));
app.use(session({
    secret: 'pecuniamsekretsession',
    resave: false,
    saveUninitialized: true,
    cookie: { secure: true }
}));
Run Code Online (Sandbox Code Playgroud)

main.js

module.exports = function(app, languageItems, connection, logger) {
    app.post('/', require('../router/login.js')(languageItems, connection, logger)); 
    app.get('/', require('../router/login.js')(languageItems, connection, logger));
}
Run Code Online (Sandbox Code Playgroud)

login.js …

session login node.js express

2
推荐指数
1
解决办法
1957
查看次数

JS输入类型日期字段,保持表单提交后选择的值

有办法吗?

<input type="date" id="from" class="mdl-textfield__input" name="from" value="{{moment date=d format='YYYY-MM-DD'}}" style="position:relative; float: left; width: 180px; bottom: 10px;"/>
Run Code Online (Sandbox Code Playgroud)

表单提交后要记住选定值的字段?

javascript forms html5 input

1
推荐指数
1
解决办法
1443
查看次数

针对 squarespace.com 网站的 Node.js http.get 状态代码为 403

http.get当我对转到 SquareSpace (SS) 站点的 URL进行简单操作时,我收到一条 403 消息。我知道该网站正在运行并且服务器可以访问它。这是针对 SS 站点的一个简单示例(不是我的,但会产生相同的问题):

  • 显示服务器可以访问站点: curl http://www.letsmoveschools.org This returns all the HTML from the site...

  • 节点应用程序

    var http = require('http');
    var url;
    
    url = 'http://www.letsmoveschools.org/';
    
    var req = http.get(url, function(res) {
    
      res.on('data', function(chunk) {
       //Handle chunk data
      });
    
      res.on('end', function() {
        // parse xml
        console.log(res.statusCode);
      });
    
      // or you can pipe the data to a parser
      //res.pipe(dest);
    
    });
    
    req.on('error', function(err) {
      // debug error
      console.log('error');
    });
    
    Run Code Online (Sandbox Code Playgroud)

当我现在运行节点应用程序时,node app.js它会输出403状态代码。

我已经在其他网站上尝试过此代码,它工作正常,只是不适用于 squarespace …

squarespace node.js

0
推荐指数
1
解决办法
1561
查看次数

Node.js 内存泄漏

我从谷歌加载我的日历。但每次我这样做时,节点都会多使用 2 MB 的内存。即使我删除了该模块。我需要每 5 或 10 分钟加载一次,以便查看是否有变化。这是我的代码。

google-calender.js 模块

module.exports = {

  loadCalendars: function(acces, res){
    gcal = require('google-calendar');
    google_calendar = new gcal.GoogleCalendar(acces);

    google_calendar.calendarList.list(function(err, calendarList) {

        toLoadCalenders = calendarList.items.length;
        loaded = 0;
        data = [];

        for(var i = 0; i < toLoadCalenders; i++){           
            google_calendar.events.list(calendarList.items[i].id, function(err, calendarList) {
                loaded++;
                data.push(calendarList);
                if (loaded == toLoadCalenders) {
                    res.send(data);
                }
            });

        }

    });
  }
}
Run Code Online (Sandbox Code Playgroud)

main.js

app.get('/google-calender', function (req, res) {
    google = require('./google-calender');
    google.loadCalendars(acces, res);

    setTimeout(function(){
        delete google;
    },500);
});
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何防止内存泄漏?

memory-leaks google-authentication node.js

0
推荐指数
1
解决办法
1154
查看次数

Node.js - 典型的回调问题

我在代码中添加了一些注释,以便您可以看到问题所在,基本上......我希望在db.where()函数之后使用货币"可用",以便可以在if语句中使用它.毫无疑问,这很容易修复,但我很糟糕.感谢您的时间.

db.where('users', {name: user.username}).then(function(result) {
    var currency = result.items[0].currency;
    console.log(currency);
});
console.log("Program gets to this point without error.");
console.log(currency); // Doesn't work as currency is no longer defined.
if (typeof args[2] == 'number' && args[2] <= currency) {
    var betOkay = true;
    console.log("betOkay is " + betOkay);
}
Run Code Online (Sandbox Code Playgroud)

javascript node.js

0
推荐指数
1
解决办法
45
查看次数

Nodejs 在真实 shell 中生成一个进程并终止该进程

我有一个在nodejs 中使用spawn 创建的进程,并带有选项,shell:true因此该进程在真实的shell 中启动。因此,当我尝试终止这个进程时,streamingTask.kill()它不起作用。没有该选项shell:true一切正常。

这就是我的代码的样子:

var options = {shell:true};  
streamingTask = spawn('gst-launch-1.0',args,options);

... 

streamingTask.kill()
Run Code Online (Sandbox Code Playgroud)

那么我现在怎样才能杀死这个进程呢?

shell spawn node.js

0
推荐指数
1
解决办法
1721
查看次数

app.js在Express 3中不起作用

我正进入(状态

连接已弃用的多部分:使用解析器(多方,busboy,强大)npm模块,而不是在node_modules \ express \ node_modules \ connect \ lib \ Middleware \ bodyParser.js
连接不建议使用的methodOverride:在app.js:22:17上改用method-override npm模块
D:\ login \ node_modules \ express \ lib \ router \ index.js:306
    抛出新的错误(msg);
    ^

错误:.post()需要回调函数,但有一个[object Undefined]
    在D:\ login \ node_modules \ express \ lib \ router \ index.js:306:11
    在Array.forEach(本机)
    在Router.route(D:\ login \ node_modules \ express \ lib \ router \ index.js:302:13)
    在路由器上。(匿名功能)[发布后](D:\ login \ node_modules \ express \ lib \ router \ index.js:333:16)
    在Function.app。(匿名函数)[发布时](D:\ login \ node_modules \ express \ lib \ application.js:467:26)
    在对象。(D:\ …

node.js express

-1
推荐指数
1
解决办法
1049
查看次数