将Param Javascript传递给Node.js

时间:2013-12-24 10:59:08

标签: javascript node.js amazon-s3

尝试将名为“sitename”的变量发送到Node.js

$(document).ready(function () {
    console.log(sitename);
    $.ajax({
        type: "POST",
        url: "/images",
        data: sitename,
        dataType: "json"
    })
        .done(function (json) {
            alert(json);
        });
});

console.log(sitename)让我想要results = dagan

现在在Node.js上我有这段代码:

app.post('/images', function (req, res){
    console.log(req.body);
    var sitename= console.log(req.param.body);
    var BucketName = 'webwedding/'sitename;
    AWS.config.loadFromPath('./config.json');
    var s3 = new AWS.S3();
    var params = {Bucket: BucketName, Key: '*',ResponseContentType : 'application/json'};
    s3.getObject(params).
        on('httpData', function(chunk) {
            console.log(chunk);
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.write('<html><body><img src="data:image/jpeg;base64,')
            res.write(new Buffer(chunk).toString('base64'));
            res.end('"/><</body></html>');
        }).
        on('httpDone', function() { }).
        send();
});

console.log (req.body) gives me -> **{ dagan: '' }**而非dagan

另一个未定义。

2.小问题 - &gt;我能列出一个桶/文件夹并获取所有对象吗?如果有的话,任何指示都会很好,谢谢你们!

解决! adeneo,这是正确答案“使用数据:{sitename:sitename},和req.param.sitename”,谢谢

仅针对可能存在此问题的其他人,客户端:data: {"sitename": sitename}。服务器端:var sitename = req.param('sitename'); 更具体一点:)

1 个答案:

答案 0 :(得分:0)

我认为您需要使用以下字符串化数据:

data: JSON.stringify({ sitename: sitename }),
节点网站上的

有类似

的内容
app.use(express.bodyParser());