Javascript form()抛出';未定义不是一个函数';节点错误
我想在节点中的Javascript form()抛出';未定义不是一个函数';节点错误,javascript,node.js,email-attachments,request.form,Javascript,Node.js,Email Attachments,Request.form,我想在节点中的请求上创建一个表单,以便向电子邮件添加附件。据我所知,在multipart/formdata(multipartformuploads)部分中,我应该能够使用 var r=request.form() 但是我在控制台中得到了这个错误 var fd = request.form(); ^ TypeError: undefined is not a function 有人能告诉我为什么会发生这种情况,以及如何解决它吗。提前谢谢 更新
请求
上创建一个表单,以便向电子邮件添加附件。据我所知,在multipart/formdata(multipartformuploads)部分中,我应该能够使用
var r=request.form()
但是我在控制台中得到了这个错误
var fd = request.form();
^
TypeError: undefined is not a function
有人能告诉我为什么会发生这种情况,以及如何解决它吗。提前谢谢
更新
查看链接文档,并根据下面Chris G的建议,我再次将代码更改为:
var r = request.post(reqOptions, function (err, resp) {
//console.log(resp.body);
//console.log(resp.statusCode);
if (err) {
return deferred.reject({
code: _.get(resp, 'statusCode'),
reason: err.message || err.errmsg
});
} ...
);
var form = r.form();
form.append('attachmentA',fs.createReadStream(path.join(__dirname, 'abc.jpg')));
现在我得到以下错误
{ code: undefined, reason: 'write after end' }
.form()
只能在request.post(…)
上调用,而不能在request
本身上调用。如何使用request.post(reqOptions,function(err,resp){if(err)…console.log(resp)}
。如何在发布后添加表单数据?感谢您的回复。在您链接到的示例代码中,使用。表单()
是在之后完成的。仅使用单个参数调用post()
。我假设在这种情况下,只有调用表单。提交()
。看这里:哦,我错过了。谢谢你指出。我做了这个var r=request.post(…);var form=r.form();form.append('attachmentA',fs.createReadStream(path.join(u dirname,'abc.jpg'));
但是我得到了一个{code:undefined,reason:'write after end'}
。听起来好像它说它可以“写”因为它已经完成了,你知道怎么了吗?