1. 程式人生 > >【問題記錄】axios修改請求資料格式

【問題記錄】axios修改請求資料格式

預設請求資料的格式是這樣的:

修改請求頭資訊

headers: {  'Content-Type': 'application/x-www-form-urlencoded'  }

修改請求資料

// 修改請求資料
        transformRequest: [function (data, headers) {
            let ret = ''
            for (let it in data) {
                // 去除空字串的請求欄位
                if (data[it] !== '') {
                    if (ret !== '') ret += '&'
                    ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it])
                }
            }
            return ret
        }],

關於axios的具體程式碼配置如下:

const initFetch = (baseUrl, router) => {
    const instance = axios.create({
        // 設定超時時間 -30秒
        timeout: 30000,
        // 請求的baseUrl
        baseURL: baseUrl,
        // 請求頭部資訊
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        // 修改請求資料
        transformRequest: [function (data, headers) {
            let ret = ''
            for (let it in data) {
                // 去除空字串的請求欄位
                if (data[it] !== '') {
                    if (ret !== '') ret += '&'
                    ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it])
                }
            }
            return ret
        }],
        // 跨域請求時允許攜帶憑證(cookie)
        withCredentials: true
    })