JQuery 极致ajax局部和整体刷新

简介: 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"

然后,我们来使用

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>
目录
打赏
0
相关文章
N..
|
8月前
|
jQuery实现Ajax
jQuery实现Ajax
N..
78 1
jQuery中ajax如何使用
jQuery中ajax如何使用
99 0
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
57 0
关于Django使用Jquery异步刷新
使用Django与jQuery结合实现异步刷新功能,不仅可以提升用户体验,还能提高应用的性能。通过上述的步骤,你可以在自己的Django项目中实现类似的异步数据更新功能。这种技术的关键是理解AJAX的工作原理,以及如何在Django后端创建响应AJAX请求的视图。通过实践这些技巧,你将能够创建更为动态和交互式的Web应用。
38 2
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
38 0
Ajax的使用(jquery的下载)
这篇文章是关于Ajax学习笔记的分享,包括JQuery的下载方式、Ajax的主要参数说明,以及如何在网页中使用Ajax进行异步请求的示例代码。
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
140 1
jQuery ajax读取本地json文件 三级联动下拉框
jQuery ajax读取本地json文件 三级联动下拉框
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等