尝试将名为“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) 给了我 -> **{ dagan: '' }**
而不是 dagan
。
另一个未定义。
2.小问题->我可以列出一个存储桶/文件夹并获取其中的所有对象吗?如果是的话,任何指示都会很好,谢谢!
已解决! adeneo,这是正确的答案“使用数据:{sitename:sitename}和req.param.sitename”,谢谢
对于其他可能对此有问题的人,客户端:数据:{“sitename”:sitename}
。服务器端:var sitename = req.param('sitename');
更具体一点:)
最佳答案
我认为您需要使用以下方式对数据进行字符串化:
data: JSON.stringify({ sitename: sitename }),
在 Node 站点上有类似的东西
app.use(express.bodyParser());
关于javascript - 将 Javascript 参数传递给 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20759715/