1.前言
在若依不分离版本的框架开发中,刚接触时,对于传参非常无解,网上很多前后端传参的说法不够明确,使得做项目前期很难搞。因此我在此处记录一下前后端传参,来为刚接触的程序员提供帮助,也为以后能够回过头来看自己现在的理解和认识的不足。
2.后端向前端传参
首先,我们要了解ModelMap这个类,ModelMap对象主要用于传递控制方法传递数据到结果页面,简言之就是负责后端向前端传参。例如:
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id,ModelMap mmap) {
AAA a= AAAService.selectAAAById(id);
String datatype = getdatatype(a);
mmap.put("a", a);//传给前端
mmap.put("datatype",datatype); //传给前端
return prefix + "/edit";
}
此处把我们需要传递给前端的数据封装成键值对的形式,封进modelmap对象中。前端使用时,只需要通过调用即可:
<div class="row" th:if="${datatype} ne '04'"> <!--进行判断-->
<label class="col-sm-4 control-label">获取:</label>
</div>
此处例子做了一个从后台获取数据到前台判断的实例。
3.前端向后端传参
一般使用post请求传参,传参时使用$ .post。
关于$.post有三个参数,即url,data,function,其中url我们都知道,是前端向后端的请求地址,data是封有参数的集合,数据格式是json,将数据传递给后端,格式是:data = {“a”: a,“b” :b },function就好理解了,就是函数,一般我们会做一些判断或者其他业务,例如:
var url = "/local/add"
var data = {"id" : id ,"password" : password}
$.post(prefix + "/add", data, function(result) {
if(result.code == web_status.SUCCESS){
$.table.refresh();
}else{
$.modal.alertError(result.msg);
}
});
后端直接按照常规方式接收即可,接收的参数实际上就是data中的内容。