REST API端点在react中使用axios时不返回任何响应,但在浏览器中却能正常工作。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了REST API端点在react中使用axios时不返回任何响应,但在浏览器中却能正常工作。相关的知识,希望对你有一定的参考价值。

我用express和bodyParser创建了一个简单的REST API,它可以在GET请求中返回一个json对象到base url。在浏览器中工作得很好,并返回预期的内容。

API端点: https:/jk9j0.sse.codesandbox.io。.

编码:https:/jk9j0.sse.codesandbox.io。https:/codesandbox.iosmagical-montalcini-jk9j0。

然后我设置了一个基本的react应用,通过发送一个带有axios的GET请求来消费这个API。但是在调用上面的API端点时,我没有得到任何响应。试图抓住 error.request 对象,我没有看到标题中有任何明显的错误。该 error 对象本身说'网络错误'。不知道为什么,当API在浏览器中正常工作时。

注意:当我把我的API url替换成另一个预期发送类似响应的url时,一切都很正常。工作的那个。https:/jsonplaceholder.typicode.composts.我没有创建那个,但是用它来模拟我的json对象。

React代码。https:/codesandbox.ioshungry-sun-rq94r。

我试着从几个角度调查,但没有结果。我在这里遗漏了什么?我需要在请求中设置一些头文件吗?这是CORS的问题吗?

答案

是的,这原来是一个CORS问题。在发送响应之前,必须在API端点应用头。res.header("Access-Control-Allow-Origin", "*").

以上是关于REST API端点在react中使用axios时不返回任何响应,但在浏览器中却能正常工作。的主要内容,如果未能解决你的问题,请参考以下文章

如何在React中处理REST API请求

尝试使用 axios 在 React/Phoenix 应用程序中进行 API 调用(使用早午餐)

在 React 应用程序中使用 axios.post 到 Django 端点时出现 403 错误代码

在 React Redux 中调度操作之前等待多个 Axios 调用

如何在 Vue 和 Axios 中循环访问 API 端点 JSON 对象?

使用 react/axios 的空 POST 请求