我正在做一个博客应用程序,我正在努力寻找一种方式来重定向/发送一个特定的状态,然后采取相应的行动。如何将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