記使用axios請求easy-mock數(shù)據(jù)時碰到的問題

記使用axios請求easy-mock數(shù)據(jù)時碰到的問題

第一次使用axios帶參數(shù)來請求easy-mock模擬的數(shù)據(jù),碰到一個問題:返回值不能正確返回。
查閱相關(guān)資料后,發(fā)現(xiàn)是content??Type的問題
axios默認(rèn)使用Content-Type: application/json; charset=utf-8方式來發(fā)送數(shù)據(jù),easy-mock的相應(yīng)方式也是Content-Type: application/json; charset=utf-8,但是使用如下easy-mock的響應(yīng)數(shù)據(jù)格式,不能正確返回數(shù)據(jù)

axios

axios.post('https://easy-mock.com/mock/5a28f3c05f502a311f5cdb04/getNewsList/load', {
    'name': this.usernameModel
}).then(data => {
    console.log(data);
}).catch(error => {
    console.log(error);
});

easy-mock

{
    success: true,
    data: {
        default: '用戶名錯誤',
        _req: function({ _req }) {
            return _req
        },
        name: function({ _req }) {
            if (_req.query.name === 'admin') {
                return _req.body.name
            } else {
                return this.default
            }
        }
    }
}

后來修改axios的數(shù)據(jù)請求格式為application/x-www-form-urlencoded,easy-mock修改_req.query.name_req.body.name后,可以正確接收到返回值。

貼上正確完整的?代碼:

axios部分

import qs from 'qs'; //使用qs庫處理axios請求的數(shù)據(jù)格式為application/x-www-form-urlencoded
axios.post('https://easy-mock.com/mock/5a28f3c05f502a311f5cdb04/getNewsList/load', qs.stringify({
    'name': this.usernameModel
})).then(data => {
    console.log(data);
}).catch(error => {
    console.log(error);
});

easy-mock部分

{
  success: true,
  data: {
    default: '用戶名錯誤',
    _req: function({
      _req
    }) {
      return _req
    },
    name: function({
      _req
    }) {
      if (_req.body.name === 'admin') {
        return _req.body.name
      } else {
        return this.default
      }
    }
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容