Node.js express应用程序无法从dropzone.js回调进行重定向

Node.js express app fails to redirect from dropzone.js callback

本文关键字:js 回调 重定向 dropzone express 应用程序 Node      更新时间:2023-09-26

我正在尝试将一个dropzone.js支持的拖放上传页面添加到我的node.js应用程序中,该应用程序使用express/jade模板创建页面。我遇到的问题是,我似乎没有办法从dropzone回调重定向用户。

这是我创建dropzone的jade文件(注意scipts和css是在布局中加载的):

extend layout
block content
    div(id="dropzone")
        form(method="POST" action="upload" class="dropzone" id="my-dropzone")

这是我非常简单的回调:

app.post("/upload", function(req, res) {
    console.log("UPLOAD POST");
    res.redirect("/");
    //project.finishUpload(db, req, res);
});

我从console.log中看到了打印,但它从未重定向回根目录。

此外,以下是我的Dropzone选项:

Dropzone.options.myDropzone = {
  paramName: "file",
  maxFilesize: 10, 
  acceptedFiles: "application/zip"
};

我该怎么做才能从Dropzone回调中重定向?

您需要在客户端代码中执行重定向,因为您正在进行AJAX表单提交,而不是普通的基于浏览器的表单提交。

app.post("/upload", function(req, res) {
    console.log("UPLOAD POST");
    res.status(201).end()
});

在客户端:

Dropzone.options.myDropzone = {
  paramName: "file",
  maxFilesize: 10, 
  acceptedFiles: "application/zip",
  init: function(){
    this.on("success", function(){
      window.location.pathname = "/";
    });
  }
};