極致體驗(yàn)ajax局部和整體刷新
本篇文章將向大家介紹如何通過(guò)jquery的load方法進(jìn)行局部刷新,load方法本身很簡(jiǎn)單,但是想要結(jié)合到j(luò)final和bootstrap的公共項(xiàng)目中,需要我們多加努力了。
首先我先來(lái)來(lái)說(shuō)一下方案。
$p.load(url,data,function(response,status,xhr))
那么我們需要提供ajax請(qǐng)求的回調(diào)函數(shù)至少兩個(gè)參數(shù)url以及jquery對(duì)象。
另外,我們還可能有地址欄重載的可能。
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中將對(duì)應(yīng)的參數(shù)傳遞給jfinal
然后,我們來(lái)使用
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)頁(yè)面,進(jìn)行調(diào)轉(zhuǎn) $("#" + json.elementId).load(common.loadPath + json.loadPage + common.viewType); } } }
我提供類似的方法,主要是按照標(biāo)題中給出的方案。
注意點(diǎn)
要使用jquery的load方法,就必須將對(duì)應(yīng)的頁(yè)面所有的引用都加上。
<!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é)語(yǔ):本文全部?jī)?nèi)容到此結(jié)束,我想你也得到了極致的體驗(yàn)。后續(xù)本站還有更多內(nèi)容更新,請(qǐng)繼續(xù)關(guān)注哦。
相關(guān)文章
Ajax獲取回調(diào)函數(shù)無(wú)法賦值給全局變量的問(wèn)題
這篇文章主要介紹了Ajax獲取回調(diào)函數(shù)無(wú)法賦值給全局變量的問(wèn)題,需要的朋友可以參考下2018-06-06Ajax獲取響應(yīng)內(nèi)容長(zhǎng)度的方法
這篇文章主要介紹了Ajax獲取響應(yīng)內(nèi)容長(zhǎng)度的方法,涉及Ajax調(diào)用成功后返回方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07ajax結(jié)合mysql數(shù)據(jù)庫(kù)和smarty實(shí)現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法
下面小編就為大家分享一篇ajax結(jié)合mysql數(shù)據(jù)庫(kù)和smarty實(shí)現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12探討Ajax中有關(guān)readyState(狀態(tài)值)和status(狀態(tài)碼)的問(wèn)題
這篇文章主要介紹了探討Ajax中有關(guān)readyState(狀態(tài)值)和status(狀態(tài)碼)的問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06ie發(fā)送ajax請(qǐng)求返回上一次結(jié)果的解決方法
這篇文章主要介紹了ie發(fā)送ajax請(qǐng)求返回上一次結(jié)果的解決方法,需要的朋友可以參考下2014-03-03