指定更宽松的跨域资源策略,防止资源被阻塞

问题描述 投票:0回答:1

我正在开发一个全栈应用程序(PHP/React JS/ graphQL)。我尝试将应用程序部署到 000webhost 但收到此错误。我检查了网络,收到了 200 状态响应,但数据是 html 格式,不是 JSON 格式。 在此输入图片描述

有人可以帮助我吗?

javascript php reactjs graphql graphql-php
1个回答
0
投票

您有两个错误:首先,您遇到了 CORS 问题,这会导致您的浏览器阻止对外部资源的请求。其次,您的网页向 API 发送一些请求,该 API 以 HTML 内容进行响应,而您的网页期望返回 JSON。

为了解决这两个问题,您需要分别解决它们:

  • CORS 问题:如果您拥有想要请求的端点并且请求被阻止,则指定适当的 Access-Control-Allow-Origin 值。如果您不拥有它,那么您将需要联系所有者并要求他们发送您的请求的响应标头
  • API 问题:查明 HTML 是否是来自 API 的正确响应。如果是这样,请修改您的网页以访问 HTML 作为正确的响应。如果没有,请确保 API 使用正确的 JSON 进行响应
© www.soinside.com 2019 - 2024. All rights reserved.