axios向后端发POST报错 BadRequest status:400

2,280 阅读1分钟

HTTP 400 错误 - 请求无效 (Bad request)

在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;

原因:1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;

         2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;

解决方案:

1)对照字段名称,类型保证一致性

2)使用stringify将前端传递的对象转化为字符串    data: JSON.stringify(param)  ;

2022.3.2 update

知识点:vue2.0中使用axios进行(put,post请求时),遇到415错误

解决办法:在axios的第三个参数config中,设置请求头信息'Content-Type': 'application/json;charset=UTF-8'

如下:

updateHospital(hospital) {
    this.$axios.put(`http://localhost:5050/editHospital`, JSON.stringify(hospital),{
        headers: {
            'Content-Type': 'application/json;charset=UTF-8'
        }
    });
},

2022.3.3 update 使用级联选择器向后端发送数据:el-cascader默认处理为数组,而后端往往要求对象的形式传入数据 因此解决方法是:v-model一个中间变量,在axios请求发送之前,拼接到原来要发送的对象身上