2015-02-05 72 views
0

我想添加一個dropzone.js動力拖放上傳頁面到我的node.js應用程序,該應用程序使用express/jade模板創建其頁面。我遇到的問題是,似乎沒有辦法讓我從dropzone回調重定向用戶。Node.js快遞應用程序無法從dropzone.js回調重定向

下面是創建了懸浮窗我玉文件(注意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.options.myDropzone = { 
    paramName: "file", 
    maxFilesize: 10, 
    acceptedFiles: "application/zip" 
}; 

我能做些什麼使從我的懸浮窗回調重定向?

回答

1

您需要在客戶端代碼中執行重定向,因爲您正在進行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 = "/"; 
    }); 
    } 
}; 
+0

謝謝您的回答!在響應中似乎沒有函數sendStatus,我得到錯誤:Object#沒有方法'sendStatus'。 – Mike2012 2015-02-05 22:02:16

+1

是的,只需將其更改爲'res.status(201).end()'。 – idbehold 2015-02-05 22:03:13

+0

啊,非常感謝!我改變了你的答案,我也接受了。 – Mike2012 2015-02-05 22:04:51