【Bug日记】POST请求,后台无法获取到参数

时间:2025-03-20 09:56:58

【Bug日记】POST请求,后台无法获取到参数

郁闷!前端时间刚针对POST请求常见错误做了个总结,今天在前后端接口对接中又遇到了POST请求相关问题!

????问题描述

前端调用后端POST接口,向后台提交一个字符串数据,结果接口一直返回参数格式不正确,打开调试才知道参数未能被后端正确解析。然而后端本地调试一切正常,看来锅在前端无疑了。

????问题定位

后端接受JSON格式参数,然而 抓取axios POST请求发现Content-Type为application/x-www-form-urlencoded。此时将Content-Type设置为application/json
再次发起请求,发现问题依旧。检查前后端代码发现传参POST传参时需要对参数调用()进行格式化。

????问题解决

  1. 首先设置Content-Type:headers["Content-Type"]="application/json"
  2. ()格式化参数data:( param )

????知识扩展

  • 为什么要对参数进行格式化?
//前端
	let a ="abc";
	let json = JSON.stringfy(a);   // json=>""abc""
//模拟后台需要对前端产地的JSON格式参数做解析
	JSON.parse(a)  // 报错
	JSON.parse(json) // "abc" 没错是后台想要的字符串