鍍金池/ 問(wèn)答/HTML/ 在vue中使用axios的post請(qǐng)求返回405,但是使用jquery的post

在vue中使用axios的post請(qǐng)求返回405,但是使用jquery的post請(qǐng)求成功

使用

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

此時(shí)405錯(cuò)誤
clipboard.png

若在組件中直接使用jquery請(qǐng)求

$.post('我的url',{objId:item.id},function (res) {
                        console.log(res)//200,并正常返回
                    })
回答
編輯回答
誮惜顏

axios 與 jQuery.js中的ajax 的區(qū)別:(后端以 PHP 為例)

  1. axios 默認(rèn)發(fā)送的是數(shù)據(jù)流,不能通過(guò) $_POST來(lái)接收參數(shù),需要使用file_get_contents("php://input"),而 $.ajax 可直接通過(guò) $_POST 接收;(樓主的問(wèn)題可能是這種)
  2. axios 不支持 多維 json,而 $.ajax 是支持的;
  3. axios.get 與 axios.post 參數(shù)的寫(xiě)法不一樣,具體請(qǐng)看文檔,而$.get與$.post的寫(xiě)法是一樣的;
  4. axios 默認(rèn) header 中是沒(méi)有發(fā)送X-Requested-With:XMLHttpRequest的,而 $.ajax 中默認(rèn)是有的,如果后端通過(guò)這個(gè)來(lái)判斷是不是 ajax的話(huà),這里需要注意一下。

其中 1 和 4 都可以通過(guò)配置去修改,具體方法自己搜索。

2018年7月13日 07:08
編輯回答
鐧簞噯

https://github.com/axios/axio...
看來(lái)你需要在nginx 上處理一下OPTIONS 方法

2017年3月11日 10:10
編輯回答
毀了心

axios的post請(qǐng)求要用QS轉(zhuǎn)換下

2018年6月12日 09:26
編輯回答
兮顏

OPTIONS是詢(xún)問(wèn)請(qǐng)求,連詢(xún)問(wèn)都都拒了,你確定你的url正確、放在headers里的參數(shù)后臺(tái)處理了么?

2017年1月28日 12:15