2015-02-05 5 views
0

익스프레스/옥 템플릿을 사용하여 내 페이지를 만드는 node.js 앱에 dropzone.js 강력한 드래그 앤 드롭 업로드 페이지를 추가하려고합니다. 내가 겪고있는 문제는 dropzone 콜백에서 사용자를 리디렉션 할 수있는 방법이 없다는 것입니다. 내가 인쇄를 참조Node.js 익스프레스 앱이 dropzone.js 콜백에서 리디렉션하지 못했습니다.

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

:

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

내 매우 간단한 콜백입니다 : 여기

는 DROPZONE 만들어 내 옥 파일합니다 (scipts와 CSS를 참고 레이아웃로드)입니다 console.log에서 가져 오지만 결코 루트로 리디렉션되지 않습니다. 또한

, 여기 내 DROPZONE 옵션은 다음과 같습니다

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

내 DROPZONE 콜백에서 리디렉션을 야기하기 위해 무엇을 할 수 있을까?

답변

1

일반적인 브라우저 기반 양식 제출이 아닌 AJAX 양식 제출을하기 때문에 클라이언트 측 코드에서 리디렉션을 수행해야합니다. 답변에 대한

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

감사 :

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

그리고 클라이언트 측에

! 응답에 함수 sendStatus가없는 것처럼 보입니다. 오류가 발생합니다. Object # 에는 'sendStatus'라는 메서드가 없습니다. – Mike2012

+1

그래, 단지'res.status (201) .end()'로 바꾸십시오. – idbehold

+0

아, 완벽한 감사합니다! 내가 받아 들인 대답에서 그것을 바꿨습니다. – Mike2012

관련 문제