美文网首页
axios在使用form表单发现后台提示参数错误

axios在使用form表单发现后台提示参数错误

作者: 动感光波波波 | 来源:发表于2019-11-08 11:49 被阅读0次

发现提示参数错误,看了一下netWork,确实不是标准的form表单的格式。

这是出错的代码截图


出错代码截屏

在header中直接进行赋值,这样看起来不行的。

然后检查发送内容


network

emmm...不太对劲

看来是需要规范下form表单的发送格式。
在网上找了一下,现在一般有两种方法

  1. transformRequest
    利用axios中的transformRequest属性,在发送之前进行编辑,给他拼成一个form表单的形式

  2. qs
    引用qs模块,用的时候 qs.stringify(data.data)

最后我两种都没用。
第一种兼容性不要太差,IE不支持;
第二种还得下插件,神烦...

于是就想到了基础的表单提交,于是就有了本文的第三种方法:

export default function (data){

    let formData = new FormData();              //new 一个formData对象
            
    Object.keys(data.data).forEach(t=>{         //遍历传递进来的参数
        formData.append(t,data.data[t])         //依次给formData追加
    })

    return instance({
        method: data.method|| 'GET',
        url: data.url,
        parmas:data.parmas || '',
        data:formData,                          //回填数据
        headers: data.headers
    })
}

以上,如果有帮到你请点个赞吧!

本文结束。

相关文章

网友评论

      本文标题:axios在使用form表单发现后台提示参数错误

      本文链接:https://www.haomeiwen.com/subject/hnuibctx.html