小编Mas*_*iar的帖子

Express.js req.body undefined

我有这个作为我的Express服务器的配置

app.use(app.router); 
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat" }));
app.set('view engine', 'ejs');
app.set("view options", { layout: true });
//Handles post requests
app.use(express.bodyParser());
//Handles put requests
app.use(express.methodOverride());
Run Code Online (Sandbox Code Playgroud)

但是当我req.body.something在我的路线中要求时,我会得到一些错误指出body is undefined.以下是使用req.body以下路线的示例:

app.post('/admin', function(req, res){
    console.log(req.body.name);
});
Run Code Online (Sandbox Code Playgroud)

我读到这个问题是由于缺乏而引起的,app.use(express.bodyParser());但是你可以看到我在路线之前调用它.

任何线索?

node.js express

248
推荐指数
29
解决办法
26万
查看次数

将元素追加到Scala中列表的末尾

这听起来像个愚蠢的问题,但我在互联网上找到的只是垃圾.我根本无法将类型的元素添加T到列表中List[T].我试过myList ::= myElement但似乎它创建了一个奇怪的对象并且访问myList.last总是返回放在列表中的第一个元素.

arrays scala

210
推荐指数
4
解决办法
19万
查看次数

将缓冲区转换为nodejs中的ReadableStream

我对Buffers和ReadableStreams很新,所以这可能是一个愚蠢的问题.我有一个库作为ReadableStream的输入,但我的输入只是一个base64格式的图像.我可以像这样转换Buffer中的数据:

var img = new Buffer(img_string, 'base64');
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将其转换为ReadableStream或将我获得的Buffer转换为ReadableStream.

有没有办法做到这一点,还是我试图实现不可能的?

谢谢.

javascript buffer stream node.js

62
推荐指数
8
解决办法
6万
查看次数

如何在Ubuntu上安装特定版本的Node?

我想在Ubuntu 12.04上安装NodeJS版本0.8.18.我尝试安装最新版本,然后通过使用恢复到0.8.18 nvm,但是当我运行我的代码时,显然安装的软件包和两个版本(最新版本和0.8.18)存在一些问题.由于我不知道如何解决这个问题,我从Node安装中清理了机器,并考虑直接安装我感兴趣的版本(v0.8.18).

ubuntu node.js n

57
推荐指数
10
解决办法
10万
查看次数

在JavaScript中的for循环中调用异步函数

我有以下代码:

for(var i = 0; i < list.length; i++){
    mc_cli.get(list[i], function(err, response) {
        do_something(i);
    });
}
Run Code Online (Sandbox Code Playgroud)

mc_cli是与memcached数据库的连接.可以想象,回调函数是异步的,因此可以在for循环结束时执行.此外,以这种方式调用时,do_something(i)它始终使用for循环的最后一个值.

我用这种方式尝试了一个闭包

do_something((function(x){return x})(i)) 
Run Code Online (Sandbox Code Playgroud)

但显然这又是使用for循环索引的最后一个值.

我也尝试在for循环之前声明一个函数,如下所示:

var create_closure = function(i) {
    return function() {
        return i;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后打电话

do_something(create_closure(i)())
Run Code Online (Sandbox Code Playgroud)

但是再次没有成功,返回值始终是for循环的最后一个值.

任何人都可以告诉我,我的闭包装有什么问题吗?我以为我理解了它们,但我无法理解为什么这不起作用.

javascript closures asynchronous for-loop

54
推荐指数
5
解决办法
6万
查看次数

通过POST请求从node.js服务器向node.js服务器发送数据

我正在尝试通过POST从node.js服务器到另一个node.js服务器的请求发送数据.我在"client"node.js中所做的如下:

var options = {
    host: 'my.url',
    port: 80,
    path: '/login',
    method: 'POST'
};

var req = http.request(options, function(res){
    console.log('status: ' + res.statusCode);
    console.log('headers: ' + JSON.stringify(res.headers));
    res.setEncoding('utf8');
    res.on('data', function(chunk){
        console.log("body: " + chunk);
    });
});

req.on('error', function(e) {
    console.log('problem with request: ' + e.message);
});

// write data to request body
req.write('data\n');
req.write('data\n');
req.end();
Run Code Online (Sandbox Code Playgroud)

这个块或多或少来自node.js网站,所以它应该是正确的.我唯一没看到的是如何在options变量中包含用户名和密码来实际登录.这就是我如何处理服务器node.js中的数据(我使用express):

app.post('/login', function(req, res){
    var user = {};
    user.username = req.body.username;
    user.password = req.body.password;
        ...
});
Run Code Online (Sandbox Code Playgroud)

如何将这些usernamepassword字段添加到 …

node.js

51
推荐指数
2
解决办法
15万
查看次数

Mongoose在没有_id字段的情况下检索数据

我想从Node.js应用程序中的Mongoose设置中检索一些数据.我注意到无论我写什么作为场选择,我总是得到这个_id领域.有没有办法不去取它?这就是我现在的做法:

Transaction.find({username : user.username}, ['uniqueId', 'timeout', 'confirmation_link', 'item_name'], function(err, txs){
        console.log("user : " + user.username + " with txs: " + txs);
        callback(txs);
});
Run Code Online (Sandbox Code Playgroud)

并记录包含该_id字段的结果.

mongoose node.js

45
推荐指数
4
解决办法
4万
查看次数

Mongoose使用.select()方法

我对这种select方法的使用感到很困惑.这就是我使用它的方式,这是错误的:

Transaction.find({username : user.username}).select('uniqueId', 'confirmation_link', 'item_name', 'timeout', 'username', function(err, txs){
        callback(txs);
});
Run Code Online (Sandbox Code Playgroud)

我想要实现的只是从数据库中的事务中选择具有该用户名的事务,我想只取出select方法中列出的字段.任何人都可以指出我应该如何使用该select方法?谢谢.

javascript mongoose node.js

39
推荐指数
7
解决办法
7万
查看次数

玉模板,如何将具体对象传递给页面?

我的node.js项目有一个jade模板.我想将一个对象发送到jade模板并将其传递给页面内的一个函数(以呈现某些东西).

我相信我会从服务器发送正确的东西

res.render(__dirname + '/pages/viz.jade', {
    vizJson: newJson,
});
Run Code Online (Sandbox Code Playgroud)

在客户端我做这样的事情:

script
    sunburst(#{vizJson})
Run Code Online (Sandbox Code Playgroud)

因此,在脚本函数中,我想调用一个函数,用我在服务器端创建的一些json创建我的可视化.

问题是,渲染时我有类似的东西sunburst([Object object]).我也尝试发送JSON的字符串化版本,但是当我这样做时JSON.parse(#{vizJson})会抱怨Unexpected token &.

我发送的json总是不同的,并且具有不同的深度.

有谁知道该怎么办?

谢谢

node.js pug

37
推荐指数
1
解决办法
3万
查看次数

pugjs(玉)模板引擎加载css文件

我一直在GitHub上的例子中搜索,但我找不到如何将简单的css文件加载到我的布局中.我的第一个想法是做这样的事情,link(href="my.css")但它似乎根本不起作用.href指向正确的在线位置(检查和工作),因此也许我忘了什么?

css node.js pugjs pug

33
推荐指数
4
解决办法
5万
查看次数

标签 统计

node.js ×8

javascript ×3

mongoose ×2

pug ×2

arrays ×1

asynchronous ×1

buffer ×1

closures ×1

css ×1

express ×1

for-loop ×1

n ×1

pugjs ×1

scala ×1

stream ×1

ubuntu ×1