在开发中,前端使用axios时服务器不能接收到数据的原因及解决方案

原创 御坂御坂 随笔 JavaScript 205阅读 2018-04-02 14:14:59 举报

发中,现在大家会越来越多的使用axios来与后台进行数据ajax交互。然而,在一些接口中,post发送的的数据后台并不能收到,而jQuery的post却可以。这是因为jQuery与axios在post请求中,数据的处理方式并不相同。jQuery默认数据是Form格式,axios则是前后端同构的payload形式,这个区别造成了后台在获取post请求的数据时获取方式不同。
在网上,关于这个问题,解决方案也能搜到很多,大部分都是使用querystring来进行转换,然而,部分新手在paramsSerializer中使用导致发送的数据变成'{a:123}:'的形式,即,整个数据序列化之后变成了json的key。显然这样后台也是不能拿到数据的。
实际上,数据的处理应当放在transformRequest中,并且transformRequest的值是一个数组,具体的配置如下:

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复