【发布时间】:2021-05-28 06:27:53
【问题描述】:
我是刚开始反应和休息Apis的新手,但希望我能得到关于这个的提示或提示..
我试图在 ASP.Net Core 中对我自己的 API buildt 执行更新功能,但我收到“PUT http://localhost:33255/api/Cities/9 400 (Bad Request)”错误...我认为我的 ID 没有通过?
我试图发送的值
state = {
Cities: [],
editCitiesData: {
citiesId: '',
cityName: '',
cipCode: '',
countryName: ''
},
editCitiesModal: false
}
我的功能:
updateCities(){
let {cityName, zipCode, countryName } = this.state.editCitiesData;
axios.put('http://localhost:33255/api/Cities/' + this.state.editCitiesData.citiesId, {
cityName, zipCode, countryName
}).then((response) => {
this._refreshCities();
console.log(response.data);
})
}
还有我的 onClick:
<Button color="primary" onClick={this.updateCities.bind(this)}>Update city</Button>{' '}
感谢您的帮助!
编辑 ////
我的 api 上的断点显示: Return 0
【问题讨论】:
-
您的
this.state.editCitiesData.citiesId是空字符串吗?就像你在状态中定义的那样。尝试首先手动添加一个 id 到您的状态,这样您就可以研究前端或后端是否有任何问题。也推荐使用 Postman,看看这个:postman.com -
是的,它是一个空字符串。我检查了请求在我的 Api 中的样子,并用图片更新了我的问题。当我使用邮递员时,我可以成功更新,但我得到这个状态:204 没有内容。我的 api 是否因 put 方法而损坏?
-
PUT 动词表示您将替换行信息。前端获取 id 是否在您的数据库中?似乎您正在尝试放置不存在的东西!
-
是的。当我查看标头时,我的 id 未显示在请求有效负载中...如何在函数中正确发送 id?感觉我什么都试过了。我现在也得到这个“PUT localhost:33255/api/Cities/405 (Method Not Allowed)”..
标签: javascript reactjs axios asp.net-core-webapi rest