1.Spring由于后端逻辑,前端无法展示数据
1.代码详情
后端逻辑:在ctroller层,调用getList方法返回的是List列表
使用枚举类来定义了状态码:
状态码SUCCESS返回result类
前端代码,if条件里面是根据自定义的状态码来进行数据展示更新。
$.ajax({
type: "get",
url: "/blog/getList",
success: function(result){
if(result.code=="SUCCESS"){
var blogs = result.data;
var finalHtml = "";
for(var blog of blogs){
finalHtml +='<div class="blog">';
finalHtml +='<div class="title">'+blog.title+'</div>';
finalHtml +='<div class="date">'+blog.createTime+'</div>';
finalHtml +='<div class="desc">'+blog.content+'</div>';
finalHtml +='<a class="detail" href="blog_detail.html?blogId='+blog.id+'">查看全文>></a>';
finalHtml +='</div>';
console.log(finalHtml);
}
$(".container .right").html(finalHtml);
}
}
});
启动项目后:
2.问题原因
前端需要发送请求,获取到getList方法,但是后端返回的是一个List类,而不是Result类,导致找不到SUCCESS,根本没有执行if语句内容,自然就没有展示到到前端。
3.解决问题
把返回的类型修改成Result。
@RequestMapping(value = "/getList")
public Result<List<BlogInfo>> getList(){
log.info("获取博客列表..");
List<BlogInfo> blogList = blogService.getList();
return Result.success(blogList);
}
或者在前端代码,在if条件把SUCCESS状态码去掉,直接使用List对象。