POST请求(Form Data格式 )后端拿不到值的解决方法

1.需求
后台要求请求头是Content-Type:application/x-www-form-urlencoded(设置请求头的意思是告诉后端传过去的数据是原生的表单格式,但是并没有改变传给后端的数据格式,所以需要对数据格式进行转换)
2.方法
解决方法一:

  • 安装qs插件
  • 在main中引入import qs from ‘qs’;
  • 将传给后端的参数进行转化qs.stringify({key1:value1,key2:value2,key3:value3});
    解决方法二:
  • 创建一个表单对象let formData = new FormData();
  • formData.append(‘str’, JSON.stringify(this.$store.state.HonourValue));str是key,后面的是值
  • 将formData作为参数传值给后端

3.现象

没有进行转换后的请求参数的数据格式,如图:会是request Paload 并且数据是对象{ }。
在这里插入图片描述

进行转换后的请求参数的数据格式,如图:会是Form Data 并且数据不是对象。
在这里插入图片描述

你可能感兴趣的:(前端,vue)