这是ajax文件
$(form).submit(function()
{
$.ajax(
{
url:'/newProduct',
cache: false,
type: 'POST',
data: $(form).serialize(),
success:function(datos)
{
console.dir(datos)
},
error:function(xhr,tm)
{
},
complete:function()
{
form.reset();
}
})
return false
});
这个在服务器上
exports.newProduct=function(req,res)
{
console.dir(req.body)
console.dir(req.files)
return res.send('Producto Cargado correctamente.');
}
文件没有上传,服务器上的信息没有显示任何内容,没有发生任何事情
最佳答案
你不能(据我所知)使用 $.ajax
执行multipart/form-data表单提交(无需手动构建POST正文)。 Express 文件上传要求您的 HTML <form>
元素有 enctype="multipart/form-data"
属性集。你设置好了吗?
对于您想要执行的操作,您可能希望使用隐藏的 iframe 来执行发布,然后让服务器返回一个 javascript 片段,该片段会在成功/失败时进行回调。有许多 jQuery 插件可以为您执行此操作(我相信 jQuery Form 可以做到)。
关于javascript - 通过ajax Nodejs Express上传带有表单的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17015349/