用SpringBoot实现异步渲染过程中,ajax请求到后台,后台成功相应,但是确报了404异常
1.首先确认是否加上@ResponseBody注解
2.并检查controller返回值类型(我就是出错在这里),刚开始写的返回类型是Model型,后面改成了List类型
3.具体代码
页面ajax代码:
var aimUrl = $(this).attr("myHref");
alert(aimUrl);
$.ajax({
type:'POST',
url:aimUrl,
dataType:'JSON',
// data:{id:num},
async:true,
cache:false,
success:function (data) {
// 返回的是个list;
for (var i=0;i<data.length;i++)
{
console.log(data[i].tabName);
}
if(data!=null){
//
}
}
});
controller代码
@ResponseBody
@RequestMapping(value = "/tabId/{id}",method = RequestMethod.POST)
public List getTabsById(@PathVariable Integer id,Model model){
List<Tab> tabs = tabService.getTabsByParentId(id);
Iterator<Tab> iterator = tabs.iterator();
while(iterator.hasNext()){
Tab tb = iterator.next();
System.out.println(tb.getId()+"--"+tb.getTabName()+"--"+tb.getParentId());
}
// model.addAttribute("tabs",tabs);
return tabs;
}
对应的实体类
private Integer id;
private String tabName;
private Integer parentId;