js怎么获取从springmvc后台传过来的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么获取从springmvc后台传过来的数据相关的知识,希望对你有一定的参考价值。

参考技术A

在springmvc中controller的结果集可通过json格式传到js前端接受,也可以通过Map传给前端,具体实现如下
1,通过json格式传递
controller层实现如下
@RequestMapping("queryCityInfo")
@ResponseBody
public String queryCityInfo()throws Exception
String provinceId = getString("id");
@SuppressWarnings("rawtypes")
List cityList = personalService.queryCity(provinceId);
if(null != cityList && cityList.size() >0 )
String json = JSONUtils.toJSONString(cityList);
super.outStr(json);

return null;

protected void outStr(String str)</span>

try

response.setCharacterEncoding("UTF-8");
response.getWriter().write(str);

catch (Exception e)



public static <T> String toJSONString(List<T> list)

JSONArray jsonArray = JSONArray.fromObject(list);
return jsonArray.toString();

js端接受如下
function selectBankCity(id)
$.ajax(
url:baseAddress+"queryCityInfo.do?provinceId="+id,
type:'get',
dataType:'json',
success:function(data)
$('#custBankArea').empty();
$('#custBankArea').append("<option >--请选择城市信息--</option>");
for(var i=0;i<data.length;i++)
$('#custBankArea').append("<option value='"+scjgcj.comdata[i].id+"'>"+data[i].cityName+"</option>");


);

2,通过Map传递
controller层实现如下
@RequestMapping("queryProvince")
@ResponseBody
public Map<String, Object>  queryProvince(HttpServletRequest request,HttpServletResponse response)
Map<String, Object> map = new HashMap<String, Object>();
try
@SuppressWarnings("rawtypes")
List provinceList = personalService.queryProvince();
if(null != provinceList && provinceList.size() >0 )
map.put("province", provinceList);

catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();

return map;

js端接受如下
$.ajax(
url:baseAddress+"queryProvince.do",
type:"get",
success:function(resData)
var data = resData.province;
for(var i=0;i<data.length;i++)
//js实现
//var objs = document.getElementById("cusBankCity")
//objs.options.add(new Option(data[i].provinceName) ,data[i].id);
//jq实现
$("#cusBankCity").append("<option value='"+data[i].id+"'>"+data[i].provinceName+"</option>");


);


Thymleaf js直接获取后台传过来的对象或者对象的属性

简单说明:第一次接触thymleaf模板,对于thymleaf在js中如何获取后台传递过来的值,真的挺简单的,记住就行了

代码:

后台代码:

//传递一个org对象给js
public String toEdit(ModelMap map, String orgId) {
try {
Org org = ohOrgManager.findById(orgId);
map.addAttribute("currentOrg", org);
} catch (Exception e) {
e.printStackTrace();
}
return VIEW_PATH + "/edit";
}

JS代码:

var org = [[${currentOrg}]];//获取对象
var orgId = [[${currentOrg.orgId}]];//获取属性id
var orgName = [[${currentOrg.orgName]];//获取属性名

 












以上是关于js怎么获取从springmvc后台传过来的数据的主要内容,如果未能解决你的问题,请参考以下文章

前台js如何获取后台传过来的list数据?

springmvc表单提交日期格式,怎么搞

jsp中js里怎么接收后台传来的值

springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数

js怎么解析后台传过来的二维数组

如何用JavaScript获得后台传过来的参数