如何处理JSON错误“rest_post_invalid_page_number”?

How to deal with JSON error "rest_post_invalid_page_number"?

提问人:grazdev 提问时间:6/20/2018 更新时间:6/20/2018 访问量:859

问:

我正在创建一个 React 应用程序,它使用 API 请求从 Wordpress 网站提取所有内容。现在我的问题是存档页面,i.e. pages按标签或类别过滤的帖子,可以通过“加载更多”按钮无限加载。这是我的 GET 请求的样子:

http://example.com/wp-json/wp/v2/posts?tag=birds

以下是它如何查找与第一个页面不同的页面,一旦我单击“加载更多”:

http://example.com/wp-json/wp/v2/posts?tag=birds&page=2

除一种情况外,这工作正常。假设我将每个页面上显示的结果数设置为 8:如果正好有 8 个带有标签的帖子,则单击“加载更多”会引发以下错误:birds

{
    "code": "rest_post_invalid_page_number",
    "message": "The page number requested is larger than the number of pages available.",
    "data": {
        "status": 400
    }
}

这个错误是有道理的,但我更希望没有抛出错误并且请求返回一个空数组,因为对我来说,基于收到的空数组重新呈现列表比 JSON 错误更容易。

谁能提出一个解决方案来获得我想要实现的目标,或类似的东西?

json wordpress 反应js

评论

0赞 Arjita Mitra 6/20/2018
如果您不想收到错误,而是收到空数组,则不要抛出错误并返回空数组。是什么阻止你这样做?
0赞 grazdev 6/20/2018
@ArjitaMitra 我正在使用 Wordpress 的默认 API。我无法控制它何时应该抛出错误。
1赞 Arjita Mitra 6/20/2018
然后,您必须操纵响应。您可以检查响应代码,即 rest_post_invalid_page_number 并返回一个空数组。这有帮助吗?
0赞 grazdev 6/20/2018
@ArjitaMitra 检查响应代码正是我想避免的,因为它感觉太奇怪了......我在这里想问的是,是否有办法修改 Wordpress API 的默认行为,以便在结果数量与每页帖子数量完全相同时返回一个空数组而不是 JSON 错误。对不起,如果我不够清楚!

答: 暂无答案