希望有人能帮助我解决我的应用所带来的这种奇怪行为。
我有两个组成部分。第一个呈现项目列表(名称和年龄),另一个组件可以编辑这些项目。
我有办法让axios PUT请求的唯一方法就是将我的数据作为查询字符串参数进行更新。
const url = `${ROOT_URL}/test_endpoint?id${id}&name=${name}&age={age}`;
return axios.put(url)
.then(response =>{
console.log(response.data);
})
.catch((error) => {
console.log(error)
});
这会引发错误500,但当我检查我的组件时,它会呈现项目列表,数据会更新。
我也尝试了以下内容:
const api ={
'Content-Type': 'application/x-www-form-urlencoded'
}
const { id,name,age } = data
return axios.put(`${ROOT_URL}/test_endpoint`, { id:id,name:name, age:age },{headers: api})
所以,如果我这样尝试它仍然会抛出错误500但它不会更新任何东西。因此,只有在将数据作为查询字符串参数传递时,它才会起作用。
仅供参考:我正在使用react,redux-thunk。请求是在动作创建者中进行的。