web开发中,局部刷新会经常用到。工作中用到了两种方式,这里记录下,权当笔记。同时方便同僚们参考。
1.局部刷新 后台返回字符串数据JS控制截取然后利用js设置值到指定的jsp标签上。 这种方式只适用于简单数值的刷新。如果是页面中 一个集合类型的渲染块如 浏览的历史记录列表在浏览下一页时要局部刷新。这种方式处理起来肯定会很繁琐。适用性差。
var urlPath = xxxxpath;
$.ajax({
type:"post",
url: urlPath,
dataType:"text",
success: function(result){
$("#XXDivId").val(result);
}
});
2.局部刷新 后台返回 html 格式数据 页面上直接 利用 div.html(data);
1).前端页面请求数据格式必须是 html 格式,XXDivId 是煮页面要局部刷新的DivID 用一个子页面 include到主页面该DIV中。
$.ajax({
type:"post",
url: urlPath,
dataType:"html",
success: function(result){
$("#XXDivId").val(result);
}
});
2).后端实现的Controller中直接返回子页面 整体代码
productController.java
@RequestMapping(params = "method=product_view")
public ModelAndView productView(HttpServletRequest req,HttpServletResponse res)throws Exception{
//其他逻辑处理
return new ModelAndView("product/childpage/collectionpage");
}
3)前端在ajax请求的返回值 result 结果就是collectionpage.jsp 页面对应的html格式
用js将 result 结果 利用 jQuery的html(result)方法添加到div 中 从而实现局部刷新。
综上,两种局部刷新方式 适用于不同的需求,可根据自己的 需求灵活选择使用。