为啥我在尝试使用 fetch 连接 Api 时收到“错误请求”错误 400?
Posted
技术标签:
【中文标题】为啥我在尝试使用 fetch 连接 Api 时收到“错误请求”错误 400?【英文标题】:Why I get a "Bad Request" Error 400 when I try to connect with Api with fetch?为什么我在尝试使用 fetch 连接 Api 时收到“错误请求”错误 400? 【发布时间】:2021-03-27 03:57:15 【问题描述】:我遇到了 FE/BE 集成的问题。当我尝试从 php api 取回优惠对象时,我收到 400 错误。
我使用代理获取 API。
class OfferSite extends Component
state =
siteId: 1,
offerId: 4,
offerDetails: "",
;
componentDidMount = () =>
const data =
"siteId" : this.state.siteId,
"offerId" : this.state.offerId,
;
fetch('/v1/offers/details',
method: "POST",
headers: 'Content-Type': 'application/json',
body: JSON.stringify("siteId" : 1, "offerId": 4),
)
.then((response) => response.json())
.then((data) =>
this.setState(offerDetails: data);
console.log(data);
)
;
render()
return (
<div>
<OfferCover />
<OfferMenu />
<OfferHighlights />
<OfferMovie />
<OfferResort />
<OfferAccomodation />
<OfferAttractions />
<OfferSchedule />
<OfferTransport />
<OfferCourses />
<OfferPrice />
<OfferAddons />
<OfferTrips />
</div>
)
export default OfferSite;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
这是我得到的错误:
[object%20Module]:1 GET http://localhost:3000/[object%20Module] 400 (Bad Request)
我已经花了大约 6 个小时试图自己找到解决方案,如果有任何帮助,我将不胜感激 :)
【问题讨论】:
【参考方案1】:问题:
Error 400
表示后端服务器无法处理您的请求。也就是说,你的请求不符合后端服务器的规则。
解决方案:
乍一看,API调用语法似乎没有问题。首先,使用Postman 检查您的请求,以确保 API 端点正常工作。
【讨论】:
非常感谢!确实这是API的一些问题。稍作改动后一切正常!以上是关于为啥我在尝试使用 fetch 连接 Api 时收到“错误请求”错误 400?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在实际工作时会收到“Fetch failed loading”?
为啥我在尝试使用 reddit API 时会收到 405 错误?
为啥我在尝试通过 Matlab ftp 访问 Box 时收到“连接被拒绝”?