【发布时间】:2015-10-13 16:07:27
【问题描述】:
我从画布上得到了 base64 对象
var imageData = canvas.toDataURL('image/png');
我尝试通过 ajax 将此 base64 对象(imageData)发送到服务器:
var _data = {};
// set test property:
_data.avatar = imageData;
console.log(_data);
// Make an Ajax request
$.post('./setup', _data, function(result) {
console.log('result', result);
});
在我的 nodejs 服务器(仅使用 express 中间件)中,我有一个简单的路由器来处理这个请求
router.post('/setup', function(req, res, next) {
console.log('setup: data', req.body.data);
console.log('setup: check', req.body.check);
console.log('setup avatar: ', req.body.avatar);
res.json({
success:true
});
});
实际上,它不起作用,我想知道为什么无法发送 base64 对象。 在另一种情况下,我的带有文本的 json 对象可以正常发送到服务器.. 感谢您将base64对象发送到expressjs服务器的帮助和解决方案
【问题讨论】:
-
console.logs 的输出是什么?旁注:您使用的是
bodyParser吗? -
是的...我正在使用 bodyParse @Swaraj Giri...控制台登录我的服务器中没有任何内容
-
检查
req.body并检查 ajax 请求在开发者控制台中发送的内容。您是否正在序列化您通过 ajax 发送的数据? -
注意到 req.body 内部...我正在对序列化和非序列化数据进行测试,但没有案例可以将我的 base64 obj 传递给服务器。 ???
-
实际上,控制台之类的命令没有被触发..@Swaraj Giri ..只有摩根输出告诉我post requets正在服务器上......:(
标签: ajax node.js express base64