在vue中使用axios的post请求返回405,但是使用jquery的post请求成功

使用

axios.post('我的url',{objId:id})
            .then(function (res) {
                console.log(res)
            })
            .catch(function (error) {
                console.log(error);
            });
          

此时405错误
clipboard.png

若在组件中直接使用jquery请求

$.post('我的url',{objId:item.id},function (res) {
                        console.log(res)//200,并正常返回
                    })
阅读 8.4k
4 个回答

axios的post请求要用QS转换下

OPTIONS是询问请求,连询问都都拒了,你确定你的url正确、放在headers里的参数后台处理了么?

axios 与 jQuery.js中的ajax 的区别:(后端以 PHP 为例)

  1. axios 默认发送的是数据流,不能通过 $_POST来接收参数,需要使用file_get_contents("php://input"),而 $.ajax 可直接通过 $_POST 接收;(楼主的问题可能是这种)
  2. axios 不支持 多维 json,而 $.ajax 是支持的;
  3. axios.get 与 axios.post 参数的写法不一样,具体请看文档,而$.get与$.post的写法是一样的;
  4. axios 默认 header 中是没有发送X-Requested-With:XMLHttpRequest的,而 $.ajax 中默认是有的,如果后端通过这个来判断是不是 ajax的话,这里需要注意一下。

其中 1 和 4 都可以通过配置去修改,具体方法自己搜索。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题