开发者社区> 沉默王二> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JQuery 极致ajax局部和整体刷新

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48548845 JQuery 极致ajax局部和整体刷新。
+关注继续查看
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48548845

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);
<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"

注意
1. jfinal端封装三个属性提供给前端的回调函数。
2. 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);
        }
    }
}

我提供类似的方法,主要是按照标题1中给出的方案。

注意点

要使用jquery的load方法,就必须将对应的页面所有的引用都加上。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ 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(0);" 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: 0 6px;">退出</a>

结语:OK,我想你也会得到极致的体验。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JQuery 的 Ajax 请求(重点****)
JQuery 的 Ajax 请求(重点****)
0 0
spring boot jquery ajax ie8解决跨域
spring boot jquery ajax ie8解决跨域
0 0
jquery ajax 和servlet json 结合的简单小例子
jquery ajax 和servlet json 结合的简单小例子
0 0
jQuery封装Ajax,SpringMVC使用Ajax的配置
jQuery封装Ajax,SpringMVC使用Ajax的配置
0 0
JQuery Ajax实现三级联动
本文实例为大家分享了ajax实现三级联动的具体代码
0 0
jQuery中的Ajax
jQuery中的Ajax
0 0
【jquery Ajax】基础概念与使用教学
【jquery Ajax】基础概念与使用教学
0 0
【jquery Ajax】接口的学习与Postcode插件的使用
【jquery Ajax】接口的学习与Postcode插件的使用
0 0
【jquery Ajax 练习】图书管理
【jquery Ajax 练习】图书管理
0 0
【jquery Ajax 】form表单教学+评论案例
【jquery Ajax 】form表单教学+评论案例
0 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
基于VUE的单页面性能优化实践
立即下载
渐进式动画解决方案
立即下载
渐进式动画解决方案
立即下载