【发布时间】:2020-02-14 19:23:39
【问题描述】:
我正在尝试使用 Axios 从 API 获取数据。我有两个 API 调用。第一次通话运行良好,我得到了我期望的数据。但是,第二个返回 400 错误错误请求。
我已经搜索了多个论坛以尝试找到解决方案,但我不太了解我找到的代码。
const [player, setPlayer] = useState([]);
const [newPlayer, setNewPlayer] = useState([]);
const FindLoadout = async () => {
await axios.get(`http://api.paladins.com/paladinsapi.svc/getmatchidsbyqueueJson/${devId}/${generateSignature('getmatchidsbyqueue')}/${props.sess}/${moment.utc().format('YYYYMMDDHHmmss')}/428/${moment.utc().format('YYYYMMDD')}/-1,00`).then((response) => {
const playerData = response.data;
playerData.map((el) => {
player.push(el.Match)
})
console.log(player);
for(let i = 0; i < 50; i++) {
newPlayer.push(player[i]);
}
console.log(newPlayer);
}).catch((error) => {
console.log(error);
});
axios.get(`http://api.paladins.com/paladinsapi.svc/getmatchdetailsbatchJson/${devId}/${generateSignature('getmatchdetailsbatch')}/${props.sess}/${moment.utc().format('YYYYMMDDHHmmss')}/${newPlayer.join(",")}`).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
}
错误信息是:
错误:请求失败,状态码 400 在 createError (createError.js:17) 定居时 (settle.js:19) 在 XMLHttpRequest.handleLoad (xhr.js:60)
【问题讨论】:
-
代码示例不完整:
player和newPlayer未定义。 -
已编辑,谢谢。
-
不确定这是否是这里唯一的问题,因为这是非常特定于 API 的,并且您没有包含
generateSignature等的代码,但是您没有正确使用useState挂钩.它返回的第二个值是它应该如何更新,例如:setPlayer(myUpdatedValue):reactjs.org/docs/hooks-state.html
标签: javascript reactjs axios