猿问

java前后台的交互,尽量详细点哦

我想在前台的ajax里面的success得到这个list

https://img1.mukewang.com/5cd9194f0001be6214730512.jpg

怎么做呢

慕斯王
浏览 778回答 12
12回答

芜湖不芜

同意楼上说法,在实际开发中Controller层对于JSON数据应该是需要经过封装从而再次返回的。分享一下一个比较简单的封装类public class Message implements Serializable {/**  * 返回结果JSON封装类  */ private static final long serialVersionUID = 1L; private boolean           success          = true; private String            msg              = "成功"; private Object obj; public Object getObj() {     return obj; } public void setObj(Object obj) {     this.obj = obj; } public Message(boolean success, String msg) {     super();     this.success = success;     this.msg = msg; } public boolean isSuccess() {     return success; } public void setSuccess(boolean success) {     this.success = success; } public String getMsg() {     return msg; } public void setMsg(String msg) {     this.msg = msg; } public Message() {     super(); } public Message(String msg) {     super();     this.msg = msg; }}Controller层的RequestMapping映射器方法返回方法可以为Message 例:    public Message getAll(){                 Message msg = null;                 //返回结果                 msg.setData(true,list);     }

慕斯709654

用springboot就不需要@ResponseBody注解 前台可以用form提交表按的方式

慕标5832272

在浏览器的network里,在response里能看到后台返回的数据的情况下,申明一个receivevar that = this;//这里涉及到范围的问题$.ajax({url: URL,type: 'POST',dataType:"json",success: function (data) {if(data.code=="200"){that.receive = data.result;}else{ alert(data.reason);}},error:function(evt){console.log(evt);}});

慕码人2483693

@RequestMapping("/searchChartsData")@RequestBody //意思就是返回JSon格式的数据前端就可以取到key与value对应的数据

泛舟湖上清波郎朗

1、既然前台是ajax提交,后台就必然加上@ResponseBody注解,要不然他就是是一个返回视图。2、定义一个success类,里面最少包含一个泛型T,最好加上一个code和一个msg。3、定义返回类型为success,之后前台ajax解析 data.data.对象存在get方法的属性名称。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答