php - 为什么我在尝试使用 fetch 连接 Api 时收到“错误请求”错误 400?
问题描述
我面临 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 个小时试图自己找到解决方案,并将感谢任何帮助:)
解决方案
问题:
Error 400
意味着后端服务器无法处理您的请求。换句话说,您的请求不遵循后端服务器上的规则。
解决方案:
乍一看,API 调用语法似乎没有问题。首先,使用Postman检查您的请求,以确保 API 端点正常工作。
推荐阅读
- event-sourcing - 我可以在聚合根中使用投影仪吗
- python - 查找集合是集合列表中子集的次数
- python - 如何解密 django pbkdf2_sha256 算法密码?
- c# - 从 httpsstatus 切换和响应
- django - 如何同时使用 Django 和 Angular?
- mysql - MySQL中“Group By”的“Order by”结果
- excel - VBA代码检查公式的结果是否为负,如果为负,则弹出一个说明错误的msgbox
- sparql - 带有 OR 运算符的简单 SPARQL
- payara-micro - 基于 Payara xml 的身份验证
- javascript - Proper Request Headers for HMAC