我正在尝试使用 Axios/Node.js API 更新对象数组。我已经成功创建了数组,但是当我尝试通过 axios 补丁请求传入时,我收到“无法读取未定义的属性‘数据’”。有人知道我可能做错了什么吗?
我的 axios 函数如下:
export const updateTrans = async (transArr) => {
try {
const res = await axios({
method: 'PATCH',
url: `http://127.0.0.1:7000/api/v1/property/${id}`,
data: {
"transactions": transArr }
});
if (res.data.status === 'success') {
showAlert('success', 'Data updated successfully!');
}
} catch (err) {
console.log(err.response.data.message );
showAlert('error', err.response.data.message);
}
};
我也尝试将“transArr”字符串化,但仍然没有运气。
答案 0 :(得分:0)
问题是您在访问 err.response.data
时没有检查 err.response
是否存在。 err.response
仅存在于 if the request was made and there was a response。例如,如果发生 CORS 错误或某些网络错误(或 try 块内的某些其他错误),则不会出现该错误。
在使用前检查 err.response
是否存在。
try {
// ...
} catch (err) {
console.log(err, err.response && err.response.data);
if (err.response && err.response.data) {
// The request was made and the server responded with a status code
// that falls out of the range of 2xx
showAlert("error", err.response.data.message);
return;
}
showAlert("error", err.message);
}