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时不返回任何响应,但在浏览器中却能正常工作。的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 axios 在 React/Phoenix 应用程序中进行 API 调用(使用早午餐)
在 React 应用程序中使用 axios.post 到 Django 端点时出现 403 错误代码
在 React Redux 中调度操作之前等待多个 Axios 调用