1

我正在尝试建立一个 React 项目并希望获得一个基本的 get call 工作。我使用的 urlhttps://jsonplaceholder.typicode.com/todos/1仅用于测试并查看是否一切正常。但是,我得到一个 404 错误。我打的电话是

axios.get('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => console.log(response))
  .catch(error => console.log(error.response));
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.js"></script>

当我使用 Fetch API 尝试此调用时,我得到了正确的响应,但使用 Axios,我得到了这个错误{status: 404, config: {…}, data: undefined}。几天来我一直在尝试解决这个问题,但没有任何效果。是否有一些我可能错过的明显设置?

我大部分时间都遵循本教程:https ://hackernoon.com/tutorial-how-to-make-http-requests-in-react-part-3-daa6b31b66be

任何帮助表示赞赏:)

4

1 回答 1

5

我刚刚遇到了同样的问题,正如@skyboyer 指出的那样,问题很可能是由于打开了axios-mock-adapter. 如果是这种情况,您可以通过在浏览器控制台中查看您的实际网络请求来确认,该axios请求根本没有执行任何请求(列表中没有对所需 url 的请求)。检查您的代码在哪里有这样的一行:

const mock = new MockAdapter(axios);

评论它(和相关的),希望你的问题会得到解决。

也可以基于空的 axios 实例(即空的基本 url)创建一个模拟适配器实例。像这样的东西:

const mock = new MockAdapter(axios.create()); 

这样,您就不必在每次要运行测试时更改测试环境。

于 2018-12-06T11:21:30.300 回答