Javascript axios.post正在发送GET请求

Javascript axios.post正在发送GET请求,javascript,reactjs,axios,Javascript,Reactjs,Axios,我有一个使用react/axios的chrome扩展。在该应用程序中,我发送了一个post请求,如下所示: export const createComment = payload => { const url = `${COMMENTS_BASE_URL}`; const promise = axios.post(url, payload); return { type: CREATE_COMMENT, promise }; } 尽管它显然是axios.post(),但浏览

我有一个使用react/axios的chrome扩展。在该应用程序中,我发送了一个post请求,如下所示:

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

尽管它显然是axios.post(),但浏览器正在向url发送GET请求,这是不允许的(响应405)。我也尝试过使用axios({method:'post',…}),但浏览器发送GET请求时也会发生同样的情况。

如果有注释,请尝试删除注释\u BASE\u URL中的尾随斜杠。
i、 e.使用“/resource”而不是“/resource/”。我们也遇到了同样的问题。

在我的情况下,我的服务器使用
https

所以,
http
=>
https


然后问题就解决了。

这种情况发生了,然后URL从POST调用中重定向,GET在重定向后发生。
大多数常见的重定向都是由不需要的尾部斜杠或http重定向到https引起的。通常,这种情况是因为i)服务器出于某种原因重定向了原始POST请求,ii)在这种情况下,chrome开发工具出于某种未知原因隐藏了初始POST请求。典型问题包括:

  • 缺少身份验证导致
    302重定向
  • 使用
    http
    ,服务器通过
    301
    302
    重定向到
    https

但是,可能还有其他原因,因此您应该检查发送到服务器的HTTP请求,以了解发生了什么。像
tcpflow
这样的工具是合适的。在nginx上,您可以跟踪
access.log
文件。我们的想法是了解最初的POST请求发生了什么,这样就可以纠正根本问题。

所以这与您嵌入的chrome扩展有关,因为axios.POST()应该可以在普通网页上工作?您救了我一天!实际上,我在末尾添加了一个斜杠,它开始工作了。:-/这是很奇怪的行为,伙计!你救了我!我已经和这个错误斗争了两个小时,我一直认为这是我后端的一个错误,直到我厌倦了尝试看什么和在哪里,我来到这里。在我的情况下,我必须使用
https://www.example.com
而不是
https://example.com
这一条对我有帮助。www.redirections也是如此