一、解决页面缓存问题:
有时项目中会有这样的需求,不管前台提交数据有无变化,都需要和后台服务器进行交换,但浏览器(特别是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实现一个类似于Google搜索框中的自动提示功能。这个功能是许多网站上常见的用户体验提升工具,它允许用户在输入关键词...
jQuery基础笔记-1 jQuery概述 ----------- jQuery是一个JavaScript库,提供了简洁、快速、轻量级的解决方案,用于简化网页开发。它的主要特点是链式调用、隐式迭代、选择器等,可以帮助开发者快速构建动态网页。 ...
4. **页面管理**:DWZ有强大的页面管理机制,如页面缓存、页面跳转控制、页面历史记录管理,使得用户在复杂应用中的导航更加顺畅。 5. **数据操作**:框架集成了数据验证、数据提交、数据分页等功能,与后端服务器...
### Ajax和jQuery学习笔记 #### 一、Ajax基础与原理 **1.1 什么是Ajax?** Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用来创建快速动态网页的技术,通过在后台与服务器进行少量数据...
#### 三、jQuery高级特性 1. **JSON数据处理**: - **序列化与反序列化**:使用`$.toJSON()`将JavaScript对象转换为JSON字符串,使用`$.parseJSON()`将JSON字符串解析为JavaScript对象。 - **配置JSON处理器**:...
《jQuery Web开发笔记详解》 在Web开发领域,jQuery是一个不可或缺的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本篇将深入探讨jQuery的核心概念、常用API以及在实际项目中的...
### jQuery学习笔记 #### 第一章:jQuery入门 1. **什么是jQuery?** - **定义**:jQuery是一个跨平台的开源JavaScript库,其主要目标是简化HTML文档遍历、事件处理、动画以及Ajax交互等任务。jQuery的核心理念...
在网页开发中,数据的展示往往涉及到大量的信息处理,尤其是在用户交互时,如何优雅地处理大量数据的加载和展示,是提升用户体验的关键。jQuery-Paging插件就是一个针对这种情况设计的动态分页工具,它允许开发者...
6. **编辑和添加数据**:熟悉如何在网格内编辑现有记录,以及添加新记录。 7. **自定义行为**:探索如何扩展jqGrid的功能,实现独特的用户交互和界面效果。 8. **性能优化**:理解如何利用组合脚本、延迟加载和缓存...
Bootstrap是世界上最受欢迎的前端开发框架之一,用于构建...在学习过程中,注意理解和应用HTML5的语义化、媒体处理、离线存储等特性,同时熟悉Bootstrap的组件、网格系统和插件,这样就能构建出既美观又实用的网页。
在本文中,我们将深入探讨jQuery的核心概念,包括选择器、事件处理和Ajax功能。 ### 选择器 (Selectors) jQuery的选择器是其强大功能之一,它们允许开发者高效地选取DOM元素。以下是一些基本用法: 1. **选择具有...
本项目“jQuery本地缓存添加记录列表特效”利用jQuery实现了一个功能,即在用户浏览数据记录时,将这些记录存储在本地,以便于快速加载和呈现,提升用户体验。这个特效涉及到的主要知识点包括jQuery、CSS样式以及...
这篇记录笔记主要探讨的是如何在HTML页面中通过异步方式获取并显示省份和二级城市的列表,这通常涉及到前端与后端的交互以及JavaScript的运用。这里我们将详细讨论相关知识点。 首先,`jquery.js`是一个著名的...
jQuery提供了一种统一的方式来绑定和处理事件。例如,`$("selector").click(function() {...})`用于在元素上绑定点击事件,`event.preventDefault()`阻止默认行为,`event.stopPropagation()`则阻止事件冒泡。 **...
- **目的**:确保数据在不同环境下的正确显示和处理。 - **类型**: - **基本编码转换**:如UTF-8到GBK。 - **XML编码**:处理XML文档中的字符编码问题。 - **页面编码**:设置网页的字符编码。 - **BOM编码**:...
**jQuery EasyUI 学习笔记(十二):深入解析源码** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列轻量级、易于使用的组件,帮助开发者快速构建用户界面。在这一章节的学习笔记中,我们将深入探讨...
6. **状态管理**:维护当前页码、总页数和每页记录数的状态,以便正确处理分页逻辑。 在博客中,作者可能还会分享关于如何处理数据排序、筛选的技巧,以及如何优化用户体验,比如使用缓存来减少不必要的请求,或者...
jQuery的核心特性包括选择器、DOM操作、事件处理和Ajax支持。 **2. Ajax基础** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分网页的技术。通过创建XMLHttpRequest对象,...
标题中的“ssh”通常指的是Java开发中的三个框架——Spring、Struts和Hibernate的组合,而“jQuery分页”则是指在前端使用jQuery库实现数据分页功能。在Web开发中,SSH框架常用于构建后端逻辑,而jQuery则用于增强...