当前位置: 代码迷 >> 综合 >> axios 请求参数格式错误
  详细解决方案

axios 请求参数格式错误

热度:114   发布时间:2023-11-17 13:06:02.0

问题:

    新增失败,出现400

发现请求的数据格式是JSON格式。

原因:

axios处理请求体的原则会根据请求数据的格式来定:

  • 如果请求体是对象:会转为json发送

  • 如果请求体是String:会作为普通表单请求发送,但需要我们自己保证String的格式是键值对。

    如:name=jack&age=12

 QS是一个第三方库,我们可以用npm install qs --save来安装。

        QS,即Query String,请求参数字符串。

        什么是请求参数字符串?例如: name=jack&age=21

       QS工具可以便捷的实现 JS的Object与QueryString的转换。

下图是通过QS转换后的请求参数:

因为是请求参数拼接,这里的name,因为value是中文,浏览器对其进行转码。

ps:

      我这里新增成功了,但是在数据库存入的name是两个问号??,这时候我想到了MySQL的配置文件的url需要加入useUnicode=true&characterEncoding=utf8这一段,否则中文在数据库中存入的就是乱码。

 

  相关解决方案