極致體驗(yàn)ajax局部和整體刷新
本篇文章將向大家介紹如何通過jquery的load方法進(jìn)行局部刷新,load方法本身很簡單,但是想要結(jié)合到j(luò)final和bootstrap的公共項(xiàng)目中,需要我們多加努力了。
首先我先來來說一下方案。
$p.load(url,data,function(response,status,xhr))

那么我們需要提供ajax請求的回調(diào)函數(shù)至少兩個(gè)參數(shù)url以及jquery對象。
另外,我們還可能有地址欄重載的可能。
location.href
所以,我們還需要提供一個(gè)參數(shù)。
于是,我們封裝三個(gè)屬性
// 局部加載
String elementId = getPara("elementId");
String loadPage = getPara("loadPage");
// 地址欄跳轉(zhuǎn)路徑
String locationUrl = getPara("locationUrl");
setAttr("elementId", elementId);
setAttr("loadPage", loadPage);
setAttr("locationUrl", locationUrl);
<a href="${ctx}/mem/logout?elementId=log_tip&loadPage=header_login_tip"
<form class="pop_login_form"
action="${ctx}/mem/login?callbackType=closeCurrent&elementId=log_tip&loadPage=header_login_tip"
注意:
. jfinal端封裝三個(gè)屬性提供給前端的回調(diào)函數(shù)。
. jsp中將對應(yīng)的參數(shù)傳遞給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 {
// 如果指定了后調(diào)轉(zhuǎn)頁面,進(jìn)行調(diào)轉(zhuǎn)
$("#" + json.elementId).load(common.loadPath + json.loadPage + common.viewType);
}
}
}
我提供類似的方法,主要是按照標(biāo)題中給出的方案。
注意點(diǎn)
要使用jquery的load方法,就必須將對應(yīng)的頁面所有的引用都加上。
<!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?elementId=log_tip&loadPage=header_login_tip" target="ajaxTodo" callback="ajaxDone"
atitle="你確定要退出嗎?" id="user_login_out" style="padding: px;">退出</a>
結(jié)語:本文全部內(nèi)容到此結(jié)束,我想你也得到了極致的體驗(yàn)。后續(xù)本站還有更多內(nèi)容更新,請繼續(xù)關(guān)注哦。
相關(guān)文章
webform使用ajax訪問后端接口的兩種方法小結(jié)
這篇文章主要介紹了webform使用ajax訪問后端接口的兩種方法小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11
基于HTML5 Ajax實(shí)現(xiàn)文件上傳并顯示進(jìn)度條
這篇文章主要介紹了基于HTML5 Ajax實(shí)現(xiàn)文件上傳并顯示進(jìn)度條的相關(guān)資料,需要的朋友可以參考下2016-02-02
給Ajax返回的HTML標(biāo)簽動(dòng)態(tài)添加樣式的方法
這篇文章主要介紹了給Ajax返回的HTML標(biāo)簽動(dòng)態(tài)添加樣式的方法,需要的朋友可以參考下2017-04-04
Ajax實(shí)現(xiàn)異步加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)異步加載數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
IE9下Ajax無法刷新數(shù)據(jù)的緩存問題解決方法
使用jQuery的getJSON從后臺定時(shí)獲取數(shù)據(jù)并刷新界面,在IE9下卻無法刷新數(shù)據(jù),原因就是緩存的問題,下面是解決方法2014-09-09
bootstrap select2 動(dòng)態(tài)從后臺Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼
這篇文章主要介紹了bootstrap select2 動(dòng)態(tài)從后臺Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12

