Node.js Express 应用无法从 dropzone.js 回调重定向
Node.js express app fails to redirect from dropzone.js callback
我正在尝试向我的 node.js 应用程序添加一个 dropzone.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 = "/";
});
}
};
我正在尝试向我的 node.js 应用程序添加一个 dropzone.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 = "/";
});
}
};