2015-05-14 46 views
1

我的服務器中有以下代碼。我使用mongoose和s3上傳圖像,然後想要將用戶重定向到另一個頁面,但這不會發生。 (上傳成功)。Hapi.js reply.redirect()在圖像上傳後不工作

Routes.js:

{path: '/success', method: 'GET', config: controller.success} ...... 

controller.js:

imageUpload: { 
     payload: { 
       maxBytes: 209715200, 
       output: 'file', 
       parse: true 
      }, 
     handler: function(request, reply) { 
      var userName = request.auth.credentials.username; 
      members.findMemberByUsername(userName, function(err, member){ 
       if (err) { 
        return reply.view('upload', {error: err}); 
       } else if (member) { 
        var IDImagePath = request.payload.uploadedIDname.path; 
         console.log(IDImagePath); 
        members.addID(member, IDImagePath, function(err1){ 
          console.log("add id error", err1); 
         if (err1){ 
          return reply.view('upload', {error: err1, member: member}); 
         } else { 
          console.log("SUCCESSFUL!"); 
          return reply.redirect('/success'); 
         } 
        }); 
       } 
      }); 
     } 
    }, 

    success: { 
     handler: function (request, reply){ 
      request.auth.session.clear(); 
      console.log("success handler working!!"); 
      return reply.view('success'); 
     } 
    } 

的代碼打在控制器都console.log("SUCCESSFUL") and console.log("success handler working!!")但重定向不會發生。順便說一下,我使用'Jade'作爲模板語言,所以我有一個success.jade。謝謝。

回答

0

我發現問題是什麼。我使用AJAX客戶端上,但沒有一個「成功」的方法來重新加載頁面:

$('#submitID').click(function(){ 
var formData = new FormData($('#uploadID')[0]); 
$.ajax({ 
    url: '/api/image', 
    type: 'POST', 
      xhr: function() { // Custom XMLHttpRequest 
     var myXhr = $.ajaxSettings.xhr(); 
     if(myXhr.upload){ 
      console.log(myXhr.upload); 

     } 
     return myXhr; 
    }, 
    success: function(data) { 
     window.location.href = "/success" 
    }, 
    data: formData, 
    cache: false, 
    contentType: false, 
    processData: false 
}, "json"); 
}); 

我需要window.location.href = "/success"重新加載頁面。請注意,jQuery Ajax SUCCESS方法與我的'/ success'路線不同,它們恰好是相同的單詞。

+0

我很高興你解決了你的問題,你應該關閉它已經解決的問題。 –