极致体验ajax局部和整体刷新
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
本篇文章将向大家介绍如何通过jquery的load方法进行局部刷新,load方法本身很简单,但是想要结合到jfinal和bootstrap的公共项目中,需要我们多加努力了。
首先我先来来说一下方案。
$p.load(url,data,function(response,status,xhr))
那么我们需要提供ajax请求的回调函数至少两个参数url以及jquery对象。
另外,我们还可能有地址栏重载的可能。
location.href
所以,我们还需要提供一个参数。
于是,我们封装三个属性
// 局部加载 String elementId = getPara("elementId"); String loadPage = getPara("loadPage"); // 地址栏跳转路径 String locationUrl = getPara("locationUrl"); setAttr("elementId", elementId); setAttr("loadPage", loadPage); setAttr("locationUrl", locationUrl); <a href="${ctx}/mem/logout" <form class="pop_login_form" action="${ctx}/mem/login"
注意:
. jfinal端封装三个属性提供给前端的回调函数。
. jsp中将对应的参数传递给jfinal
然后,我们来使用
function dialogAjaxDone(json) { YUNM.ajaxDone(json); if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) { if ("closeCurrent" == json.callbackType) { close_pop(); } if (json.locationUrl) { location.href = json.locationUrl; } else { // 如果指定了后调转页面,进行调转 $("#" + json.elementId).load(common.loadPath + json.loadPage + common.viewType); } } }
我提供类似的方法,主要是按照标题中给出的方案。
注意点
要使用jquery的load方法,就必须将对应的页面所有的引用都加上。
<!DOCTYPE html PUBLIC "-//WC//DTD HTML . Transitional//EN" "http://www.w.org/TR/html/loose.dtd"> <html xmlns="http://www.w.org//xhtml"> <%@ page language="java" contentType="text/html; charset=utf-" pageEncoding="utf-"%> <%@ include file="/components/common/taglib.jsp"%> <script type="text/javascript"> $("a[target=ajaxTodo]").ajaxTodo(); </script> <div> <c:choose> <c:when test="${sessionScope.username!=null}"> <a href="javascript:void();" id="mycenter" style=""> ${sessionScope.username}<s class="icon_arrow icon_arrow_down"></s> </a> <i class="line"></i> <a href="${ctx}/mem/logout" target="ajaxTodo" callback="ajaxDone" atitle="你确定要退出吗?" id="user_login_out" style="padding: px;">退出</a>
结语:本文全部内容到此结束,我想你也得到了极致的体验。后续本站还有更多内容更新,请继续关注哦。
下一篇:JQuery Ajax动态生成Table表格