我正在做一個博客應用程序,我正在努力尋找一種方式來重定向/發送一個特定的狀態,然後採取相應的行動。如何將expressjs重定向到特定狀態?
例如,我有一個函數,使用貓鼬在mongodb中保存數據。然後如果沒有錯誤發生200狀態。
newArticle.save(function(err){
if (err) throw err;
else {
res.sendStatus(200);
}
});
我希望能夠「讀取」此狀態(我用我的看法和路線和SuperAgent的我的Ajax請求的反應),然後做一些事情,例如,如果我的文章是成功的添加,然後加載頁面上的某個組件,該組件將具有h1的說法:發佈文章的工作非常出色。
所以這是第一部分。
第二部分是,對於我想表達的所有404或500錯誤,例如:myblog.com - > myblog.com/something,然後用我的反應路由器簡單地呈現一些基本的404頁,我做不知道該怎麼做,我正在尋找很多,找不到東西...
而且,由於我缺乏關於服務器和客戶端如何彼此對話的HTTP基礎知識的知識,如果您有任何好的文章/書推薦我想知道。
嗨Dan,非常感謝您的回答,我還有一個問題,在我的expressjs反應博客應用程序中,我正在使用react-router作爲我的路由器,並且我在考慮無法使用express js因爲react-router只管理我的路由,因此告訴我是否或者不是一個組件連接到路由器,我想知道是否有一個內置的功能拋出未知路由的默認組件,我不知道是否你明白我的意思,對不起我的英語 – MaieonBrix
React-route確實能夠顯示一個默認路徑,可以用來渲染一個不是'path ='*''的頁面,但它不適用於什麼你正在描述。只有當你的路線不符合模式時才適用。對於您的場景,博客網址與您的路線匹配,但未找到特定的博客條目,這在技術上滿足了作業的反應路由器部分。服務器路由背後的邏輯與客戶端路由不同。除此之外,在你的路線上顯示一個notFound組件是更「反應」的方式。 – Dan