javascript - 通过ajax Nodejs Express上传带有表单的文件

标签 javascript jquery ajax node.js

这是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/

相关文章:

javascript - YouTube上载小部件无法设置隐私

jquery - '全选'和 'remove all' 与 selected.js

javascript - 通过 Ajax 实时显示 php 脚本执行进度

javascript - 如何比较日期并执行以下代码?

jquery - 如何在成功或失败时停止 jquery ajax 页面重新加载

javascript - Gulp eslint 找不到我的 .eslintrc 文件

javascript - 更新面板中的按钮不会由 JavaScript 触发

javascript - 从 Google 文档获取选择

javascript - 将表单和按钮链接到 javascript 命令

javascript - 动态加载 JSON 数据与在 JVectormap 中硬编码 - 未捕获的 TypeError : Cannot read property 'element' of undefined