如果在参数前面加上@requestBody 接受的就是个json串前台代码:shuoAdd() { axios.post('/shuo/add', { content: this.shuo //瞎打的内容是:法撒旦发射点 } ).then(function (response) { console.log(response.data) // window.history.back(-1) })}前台请求数据:{"content":"法撒旦发射点"}后台代码---1:@RestController@RequestMapping("shuo")public class ShuoControllerPost { @PostMapping("add") public String add(String content) { System.out.println(content); return "保存成功"; }}后台这样写的话接收到的是null;后台代码---2 加上@RequestBody注解:@RestController@RequestMapping("shuo")public class ShuoControllerPost { @PostMapping("add") public String add(@RequestBody String content) { System.out.println(content); return "保存成功"; }}这样写的话打印content就是 {"content":"法撒旦发射点"} 一个json串我就只想接收到 法撒旦发射点 这个字符串就行谢谢各位
8 回答
ITMISS
TA贡献1871条经验 获得超8个赞
关于axios
的这个问题网上有很多讲解,因为它并没有默认的替你去处理数据。你可以看network控制面板
发送的请求,过去的并不是一个key:value
的形式。可以通过自己处理如$.param
jQuery的ajax为什么有?那是因为jQuery本来的目的就是为了方便的一个库。
繁星淼淼
TA贡献1775条经验 获得超11个赞
axios默认是payload方式提交数据,springmvc需要一个对象注入。
@RequestMapping("shuo")
public class ShuoControllerPost {
@PostMapping("add")
public String add(@RequestBody QueryData data) {
System.out.println(data.getContent());
return "保存成功";
}
}
//封装对象
public class QueryData {
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
添加回答
举报
0/150
提交
取消