2016-09-23 70 views
0

連接 - 閃爍我有一個網頁的形式,編輯的職位通過AJAX($ .post的)本地端點。我想向用戶顯示一條消息,無論它是好還是壞。但我無法讓它工作。這是我到目前爲止有:如何使用AJAX

玉模板(節選)

if message 
    .alert.alert-danger= message 


// Tab panes 
.tab-content 

    #admin-tab-profile.tab-pane.active(role='tabpanel') 
     h3 Profil 
     form 
      include partials/admin/profile 

main.js(節選)

app.post('/admin', function(req, res) { 
    var data = req.body; 

    // find profile 
    profile.findById(data._id, function(err, profile) { 

     // update 
     profile.summary.da = data.da; 
     profile.summary.en = data.en; 

     // save 
     profile.save(function(err) { 
      if (err) { 
       req.flash('loginMessage', 'Oops! Something went wrong.'); 

       res.status(500).send({ message: req.flash('loginMessage') }); 
      } 
      console.log("profile sucessfully updated"); 
      req.flash('loginMessage', 'Yes! Everythings good!'); 
      res.status(200).send({ message: req.flash('loginMessage') }); 
     }); 
    }); 
}); 

app.js(節選)

app.use(flash()); // use connect-flash for flash messages stored in session 

那麼我做錯了什麼?爲什麼在發佈數據時不顯示狀態消息?

回答

1

那麼,如果你使用你沒有使用閃光燈快遞郵件AJAX,你可以簡單地使用ajax.success方法:

 $.ajax({ 
      method:'post', 
      ulr: '/user/singup', 
      data: data, 
      success: function(msg) { 
       console.log('Success!!'); 
       console.log(msg); // loginMessage from your code 
      }, 
      error: function(){ 
       console.log('Error!!'); 
      } 
     }) 

而且從烏爾POST方法在寄快件狀態代碼:

res.status(200).send({ message: 'loginMessage' }); 
+0

謝謝。我現在使用toastr插件(https://github.com/CodeSeven/toastr)。我加載腳本和CSS。然後我使用ajax回調來激活吐司。從jQuery 3.0開始,他們被稱爲'完成'而不是'成功'和'失敗'而不是'錯誤'。 – olefrank

+0

很酷...它看起來不錯,我可以測試它..ty;) –