【发布时间】:2019-03-18 08:33:03
【问题描述】:
我正在使用 axios 通过 JSONAPI Drupal 模块将数据从无头 Drupal 8 获取到我的 React 组件。
当我通过 Postman 发出完全相同的提取请求时(URL 和标头相同),我得到了 300 多个对象的数组,但是从 React 中提取时,响应限制为 50 个对象。
什么限制了我的数组长度以及如何覆盖限制以获取完整数组?
这个请求放在我的 React 项目的 App.js 中的 componentDidMount() 中,由 Create-React-App 创建:
axios({
method: 'get',
url: `${prodURL}/jsonapi/node/puzzle/?fields[node--puzzle]=field_filestack_handle,created&filter[eventfilter][condition][path]=field_event_reference.field_event_access_code&filter[eventfilter][condition][value]=${eventAccessCode}&sort=-created`,
auth: {
username: `${fetchUsername}`,
password: `${fetchPassword}`
},
headers: {
'Accept': 'application/vnd.api+json',
'Content-Type': 'application/vnd.api+json',
}
})
.then(response => {
this.setState({
data: response.data.data,
isLoading: false
})
})
.catch(error => console.log(error));
}
【问题讨论】:
-
显示一些代码人
-
请显示您的邮递员请求详细信息以及进行 fetch 调用的代码。如果您可以访问服务器,那么通过检查您收到的内容很容易在那里进行调试。
-
刚刚添加了我的代码。正如我所提到的,这与我在 Postman 中使用的请求相同,但在 React 中它将数组长度限制为 50。
-
请告诉我们您是如何使用邮递员查询的,是同一个网址吗?您的参数值是否相同?如果您在 axios 中对 url 进行硬编码以测试一切是否正常工作,该怎么办?据我所知,Axios 不会过滤结果(我一直使用它,而且我总是必须在后端进行过滤)所以我的想法是必须有一些参数在该 url 中过滤你的结果。跨度>
-
我无法公开身份验证数据,但如果您在没有身份验证标头的 Postman 中使用此 URL,您将获得相同数量的对象数组(隐藏值不相关,因为我们是谈论最大数组长度)。 partypics.gallery/jsonapi/node/puzzle/…
标签: reactjs axios drupal-8 json-api