首页 > 解决方案 > 为什么我在尝试使用 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 个小时试图自己找到解决方案,并将感谢任何帮助:)

标签: phpreactjsapi

解决方案


问题:


Error 400意味着后端服务器无法处理您的请求。换句话说,您的请求不遵循后端服务器上的规则。

解决方案:


乍一看,API 调用语法似乎没有问题。首先,使用Postman检查您的请求,以确保 API 端点正常工作。


推荐阅读