axios.post正在发送GET请求

aww*_*ter 13 javascript reactjs axios

我有一个使用react/axios的chrome扩展.在那个应用程序中,我发送一个帖子请求,如下所示:

export const createComment = payload => {
  const url = `${COMMENTS_BASE_URL}`;
  const promise = axios.post(url, payload);
  return { type: CREATE_COMMENT, promise };
}
Run Code Online (Sandbox Code Playgroud)

即使它显然是axios.post(),浏览器也会向URL发送GET请求,这是不允许的(响应405).我也试过使用axios({ method: 'post', ... })但是发送GET请求的浏览器也会发生同样的事情.

小智 22

如果有,请尝试删除COMMENTS_BASE_URL中的尾部斜杠.即使用'/ resource'而不是'/ resource /'.我们遇到了同样的问题.

  • 你救了我的命! (2认同)
  • 实际上,我在末尾添加了一个斜杠,它开始起作用。:-/这是很奇怪的行为。 (2认同)
  • 太棒了,这为我解决了!我发现当 Axios 收到 301(永久移动)时会发生此问题,因为它会进行重定向,但也会将方法更改为“GET”。根本原因是 URL 格式错误(正如 Pavel 所说,检查路径末尾是否需要斜杠)。由于这可能会导致意外行为,因此我选择在 Axios 配置中添加 `maxRedirects: 0`。 (2认同)

Jun*_*Nam 8

就我而言,我的服务器使用 https

因此,http=>https

然后问题解决了。