`
xalydxn
  • 浏览: 14487 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

jQuery学习记录----页面缓存和中文处理(三)

阅读更多


一、解决页面缓存问题:

有时项目中会有这样的需求,不管前台提交数据有无变化,都需要和后台服务器进行交换,但浏览器(特别是IE)发现前台数据无变化,所以不会去请求服务器,只是将缓存的数据发送给客户端。引起这样的结果就所请求的URL和上次或上上次请求的URL无任何变化,包括参数,这里IE就会将缓存的数据返回给页面,这有时不是我们想要的结果。解决这种问题方法很多,在此介绍其中一种:

根据缓存产生的原因,我们可以在请求的URL后边拼接一个时间参数(时间戳),这样每次请求的URL就不会有重复,当然就会去请求服务器


function converURL(url){
	var t = new Date().getTime();
	if (url.indexOf('?')>=0) {
		url = url+'&t='+t;
	}
	else{
		url=url+'?t='+t;
	}
	return url;
}

 此函数的功能是将一个URL加上一个时间戳,这样就可以解决页面缓冲的问题了


二、解决中文问题

分两种情况,GET和POST请求。GET请求会涉及应用服务器(如Tomcat)的设置。下面按照不设置服务器编码和设置服务器编码两种情况分析

1、服务器不做任何改动。

 在JS代码中取到页面输入内容,如文本框中的汉字,需经过两次转码:var name = encodeURI(encodeURI(username)),然后将name的值传递给后台服务器,服务器端接收时也需要进行一下转码的工作:String username = URLDecoder.decode(name, "utf-8"),其中name为客户端传过来的参数名。这样就可以解决乱码问题了。

2、服务器端进行了编码设置。

修改Tomcat安装目录中的server.xml,将其中的编码格式设置为utf-8(URIEncoding="utf-8"),这种设置只对GET请求起作用。如果Tomcat进行了如此设置,那么在第1种情况下,如果客户端使用的是GET方式请求,那么在客户端转码时只需要进行一次转码即可,如encodeURI(username)。服务器端转码方式不变,这样即可解决乱码问题了。


本篇涉及的代码见附件。

分享到:
评论

相关推荐

    jQuery学习记录----仿GoogleSuggest自动提示(八)

    在本篇博客“jQuery学习记录----仿GoogleSuggest自动提示(八)”中,作者分享了如何使用jQuery实现一个类似于Google搜索框中的自动提示功能。这个功能是许多网站上常见的用户体验提升工具,它允许用户在输入关键词...

    jQuery基础笔记-1

    jQuery基础笔记-1 jQuery概述 ----------- jQuery是一个JavaScript库,提供了简洁、快速、轻量级的解决方案,用于简化网页开发。它的主要特点是链式调用、隐式迭代、选择器等,可以帮助开发者快速构建动态网页。 ...

    dwz - 简单实用国产jQuery UI框架 - DWZ富客户端框架(jUI)

    4. **页面管理**:DWZ有强大的页面管理机制,如页面缓存、页面跳转控制、页面历史记录管理,使得用户在复杂应用中的导航更加顺畅。 5. **数据操作**:框架集成了数据验证、数据提交、数据分页等功能,与后端服务器...

    Ajax和jQuery学习笔记

    ### Ajax和jQuery学习笔记 #### 一、Ajax基础与原理 **1.1 什么是Ajax?** Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用来创建快速动态网页的技术,通过在后台与服务器进行少量数据...

    jquery笔记-达内培训

    #### 三、jQuery高级特性 1. **JSON数据处理**: - **序列化与反序列化**:使用`$.toJSON()`将JavaScript对象转换为JSON字符串,使用`$.parseJSON()`将JSON字符串解析为JavaScript对象。 - **配置JSON处理器**:...

    jquerya-Web-master- 开发笔记

    《jQuery Web开发笔记详解》 在Web开发领域,jQuery是一个不可或缺的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本篇将深入探讨jQuery的核心概念、常用API以及在实际项目中的...

    jQuery学习笔记

    ### jQuery学习笔记 #### 第一章:jQuery入门 1. **什么是jQuery?** - **定义**:jQuery是一个跨平台的开源JavaScript库,其主要目标是简化HTML文档遍历、事件处理、动画以及Ajax交互等任务。jQuery的核心理念...

    jQuery-Paging动态分页数据获取插件.zip

    在网页开发中,数据的展示往往涉及到大量的信息处理,尤其是在用户交互时,如何优雅地处理大量数据的加载和展示,是提升用户体验的关键。jQuery-Paging插件就是一个针对这种情况设计的动态分页工具,它允许开发者...

    jquery最好的插件jqGrid-3.4.2 学习资源

    6. **编辑和添加数据**:熟悉如何在网格内编辑现有记录,以及添加新记录。 7. **自定义行为**:探索如何扩展jqGrid的功能,实现独特的用户交互和界面效果。 8. **性能优化**:理解如何利用组合脚本、延迟加载和缓存...

    bootstrap学习笔记-html5

    Bootstrap是世界上最受欢迎的前端开发框架之一,用于构建...在学习过程中,注意理解和应用HTML5的语义化、媒体处理、离线存储等特性,同时熟悉Bootstrap的组件、网格系统和插件,这样就能构建出既美观又实用的网页。

    JQUERY学习笔记.doc

    在本文中,我们将深入探讨jQuery的核心概念,包括选择器、事件处理和Ajax功能。 ### 选择器 (Selectors) jQuery的选择器是其强大功能之一,它们允许开发者高效地选取DOM元素。以下是一些基本用法: 1. **选择具有...

    jQuery本地缓存添加记录列表特效.zip

    本项目“jQuery本地缓存添加记录列表特效”利用jQuery实现了一个功能,即在用户浏览数据记录时,将这些记录存储在本地,以便于快速加载和呈现,提升用户体验。这个特效涉及到的主要知识点包括jQuery、CSS样式以及...

    记录-笔记-html-异步读取省份和二级城市

    这篇记录笔记主要探讨的是如何在HTML页面中通过异步方式获取并显示省份和二级城市的列表,这通常涉及到前端与后端的交互以及JavaScript的运用。这里我们将详细讨论相关知识点。 首先,`jquery.js`是一个著名的...

    JQuery笔记

    jQuery提供了一种统一的方式来绑定和处理事件。例如,`$("selector").click(function() {...})`用于在元素上绑定点击事件,`event.preventDefault()`阻止默认行为,`event.stopPropagation()`则阻止事件冒泡。 **...

    php笔记-欢迎增加

    - **目的**:确保数据在不同环境下的正确显示和处理。 - **类型**: - **基本编码转换**:如UTF-8到GBK。 - **XML编码**:处理XML文档中的字符编码问题。 - **页面编码**:设置网页的字符编码。 - **BOM编码**:...

    JQueryEasyUI学习笔记(十二)源码

    **jQuery EasyUI 学习笔记(十二):深入解析源码** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列轻量级、易于使用的组件,帮助开发者快速构建用户界面。在这一章节的学习笔记中,我们将深入探讨...

    Jquery 模拟JGrid实现分页列表显示----2016-05-27

    6. **状态管理**:维护当前页码、总页数和每页记录数的状态,以便正确处理分页逻辑。 在博客中,作者可能还会分享关于如何处理数据排序、筛选的技巧,以及如何优化用户体验,比如使用缓存来减少不必要的请求,或者...

    Jquery-Ajax-CRUD-PHP中的操作

    jQuery的核心特性包括选择器、DOM操作、事件处理和Ajax支持。 **2. Ajax基础** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分网页的技术。通过创建XMLHttpRequest对象,...

    ssh和jQuery分页

    标题中的“ssh”通常指的是Java开发中的三个框架——Spring、Struts和Hibernate的组合,而“jQuery分页”则是指在前端使用jQuery库实现数据分页功能。在Web开发中,SSH框架常用于构建后端逻辑,而jQuery则用于增强...

Global site tag (gtag.js) - Google Analytics