我有一个页面,该页面从api加载一些数据作为主要内容。这些数据或主要内容具有一些相关的内容,而我通过不同的api调用来获取相关的内容。主要内容并不总是伴随着相关内容,因此,在没有相关内容的情况下,api调用将返回404。
我想要的是没有该404,那么如果该呼叫的状态为404,有什么办法可以拒绝该呼叫?
一方面,我正在通过ContentService.js文件请求此调用的主要内容:
getMainContent: () => {
return resource.get(`/main/content`);
}
然后,从主内容页面继续通话:
ContentService.getMainContent().then(
res => (this.mainContent = res.data.mainContent),
err => {
this.status.err = true;
}
);
这一切都很好。我得到了这些内容,以防万一我无法进入404页。
在同一页面上,我将相关内容加载到主要内容下的div中,并以相同的方式调用该内容:
getRelatedContent: () => {
return resource.get(`/related/content`);
}
在我的组件中:
ContentService.getRelatedContent().then(
res => (this.relatedContent = res.data.relatedContent),
err => {
this.error = true;
}
);
在这种情况下,如果没有相关内容,因为主要内容实际上已加载,我就无法进入404页面,它根本没有任何相关内容,因此我将error
设置为true,然后如果该div为空,则将其隐藏。
我的问题是,包含主要内容但没有相关内容的页面由于该api调用而出现404错误。
如果没有返回任何数据并可以避免在这些类型的页面上显示404状态,我是否可以拒绝该调用?
谢谢。