1 遇到的问题
后端接口请求参数的请求头中的Content-Type从application/json被改为了 multipart/form-data,而我的前端代码没有改动,结果就出现了我用postman可以成功但从前端页面上操作虽然返回了成功但是接口并没有生效。
2 解决办法
加请求头
//原来是这样的
export function add(params) {
return post("/DeviceManager/service/Room/add", params);
}
// 加请求头
export function add(params) {
return post("/DeviceManager/service/Room/add", params, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
}
当时弄到这以为已经解决了,结果前端一调发现直接返回false,原来还需要把传的参数改成用FormData,要不然只改请求头是不行的。
let dform = new FormData();
dform.append('roomName',this.form.roomName);
dform.append('stationId',this.form.stationId);
add(dform).then((res) => {
console.log(res);
if (res.success) {
this.$message.success(res.msg || "新增房间信息成功");
this.dialogFormVisible = false;
} else {
this.$message.error(res.msg || "新增房间信息失败");
}
});
不放完整代码了就是这么个意思。
前端小白,因为上网搜的时候没有成功解决,写这个纯粹为了记录一下+方便可能遇到跟我同样问题的同学。