我有一個列出事件的頁面,管理員可以使用AJAX調用刪除單個項目。我想在事件被刪除時重新加載頁面,但是我目前對express的'通常req,res和next'的理解有困難。使用新的上下文在快遞中重新加載頁面
這是我目前的執行(簡體):
簡單的jQuery代碼:
$(".delete").click(function(e){
$.post("/events/delete",{del:$(this).val()})
})
在我的路線文件:
function eventCtrl(req,res){
Event.find({}).exec(function(err,events){
...
var context = {
events:events,
...
}
res.render('events',context);
});
}
function deleteCtrl(req,res,next){
Event.findById(req.param("del")).exec(function(err,event){
// delete my event from google calendar
...
event.remove(function(err){
...
return next();
});
});
}
app.get('/events',eventCtrl);
app.post('/events/delete',deleteCtrl,eventCtrl);
當我做與AJAX POST請求所有req處理程序被調用,事件被成功刪除,但沒有重新加載。我誤解了res.render()做了什麼?
我也嘗試過在我的jQuery代碼中使用成功處理程序,當我發出請求時,使用來自deleteCtrl的res.redirect(),但是在這種情況下我的上下文未定義。
謝謝,事實證明,這是我最初做的,但我不知何故得到了錯誤的網址,所以它給了我一個未定義的。 – wdonahoe