JQuery 极致ajax局部和整体刷新。
## 首先,先介绍方案 ##
古人语:“ 授人以鱼不如授人以渔”。那么我先来来说一下方案。
**$p.load(url,data,function(response,status,xhr))**
参数描述
url规定要将请求发送到哪个 URL。data可选。规定连同请求发送到服务器的数据。function(response,status,xhr)可选。规定当请求完成时运行的函数。额外的参数:response - 包含来自请求的结果数据;status - 包含请求的状态(”success”, “notmodified”, “error”, “timeout” 或 “parsererror”);xhr - 包含 XMLHttpRequest 对象那么我们需要提供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);
action="${ctx}/mem/login?callbackType=closeCurrent&elementId=log_tip&loadPage=header_login_tip"
function dialogAjaxDone(json) {
if ("closeCurrent" == json.callbackType) {
location.href = json.locationUrl;
$("#" + json.elementId).load(common.loadPath + json.loadPage + common.viewType);
要使用jquery的load方法,就必须将对应的页面所有的引用都加上。