`

jquery解决浏览器缓存和中文处理(通用ajax)

阅读更多
function verify(){
    //解决中文乱码方法 1,页面端发出数据作一次encodeURI,服务器端使用new String(old.getBytes("iso8859-1"),"utf-8")
    var url = "AJAXServer?name="+encodeURI($("#userName").val());
    //解决中文乱码方法 2,页面端发出两次encodeURI,服务器端使用URLDecoder.decode(old,"UTF-8")
    var url = "AJAXServer?name="+encodeURI(encodeURI($("#userName").val()));
    url = convertURL(url);
    $.get(url,null,function(data){
        $("#result").html(data);
    })
}

//给url地址加时间戳,骗过浏览器,不读取缓存
function convertURL(url){
    //获取时间戳
    var timstamp = (new Date()).valueOf();
    //将时间戳信息拼接到url上
    if(url.indexOf("?")>=0){
        url = url +"&t=" + timstamp;
    }else{
        url = url +"?t=" + timstamp;
    }
    return url;
}

protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
        try{
            httpServletResponse.setContentType("text/html;charset=utf-8");
            PrintWriter out = httpServletResponse.getWriter();
            Integer inte = (Integer)httpServletRequest.getSession().getAttribute("total");
            int temp = 0;
            if(inte == null){
                temp = 1;
            }else{
                temp=inte.intValue() + 1;

            }
            httpServletRequest.getSession().setAttribute("total",temp);
            //1.取参数
            String old = httpServletRequest.getParameter("name");
            //String name = new String(old.getBytes("ISO8859-1"),"UTF-8");
            String name = URLDecoder.decode(old,"UTF-8");
            //2.检查参数是否有问题
            if(old == null || old.length() == 0){
                out.println("用户名不能为空");
            }else{
                //3.校验操作
                //String name = old;
                if(name.equals("test")){
                    //4.和传统应用不同之处,这步需要将用户感兴趣的数据反馈给当前页面,而不是展现一个新页面
                    //写法没有变化,本质发生了改变
                    out.println("用户名["+name+"]已经存在,请使用其它用户名,"+temp);
                }else{
                    out.println("用户名["+name+"]尚未存在,可以使用,"+temp);
                }
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }

分享到:
评论

相关推荐

    Ajax和jQuery学习笔记

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

    解决Ajax 发送多个请求引发的并发问题

    使用jQuery、axios或fetch等库发送Ajax请求,可以通过设置超时、错误处理、缓存策略等进一步优化并发请求的处理。 四、示例代码 这里提供一个使用jQuery的Ajax请求队列示例: ```javascript var requestQueue = ...

    JQuery实现Ajax加载图片的方法

    通过上述内容,我们了解了JQuery实现Ajax加载图片的基本原理,包括如何利用缓存机制、如何在加载过程中显示提示信息、如何处理加载顺序异常、如何绑定和处理事件,以及如何处理不同浏览器间的兼容性问题。...

    ajax-data-model:ajax 通用数据请求处理模型。提供 ajax 请求、数据缓存、通用性接口约定处理等能力

    基于接口约定的通用回调处理支持(通用错误处理、loading 状态、通用参数、埋点上报<接口超时、接口错误、接口异常、数据埋点等>...) 快速开始 1. 下载安装 手动下载:到代码仓库下载 的 zip 包,取得 dist 目录内...

    使用简单方便的Ajax通用脚本

    然而,如果需要更复杂的功能,比如缓存管理、强大的数据转换、更全面的浏览器兼容性,那么可能需要考虑使用像jQuery、axios或Fetch API这样的成熟库。这个Ajax库已经包括了运行所需的外部脚本,因此在引入这些文件后...

    Jquery异步交互

    `cache`选项用于控制是否从浏览器缓存中加载数据,对于`dataType`为`script`的请求,默认设为`false`,防止缓存脚本。 `complete`函数会在请求无论成功还是失败时被调用,提供了一个处理请求完成后的通用机制。 `...

    JQuery的API文件

    为了提高性能,jQuery提供了一些工具和最佳实践,如使用`$(document).ready()`而非`window.onload`来尽早执行代码,以及利用缓存机制避免频繁的DOM查找。 **学习资源** jQuery的官方文档详尽且易于理解,是学习的...

    Ajax组件Ajax组件

    6. **处理服务器响应**:在回调函数中,通过`responseText`或`responseXML`属性获取响应数据,并进行解析和处理。 **Ajax的局限性** 1. **浏览器兼容性**:虽然大部分现代浏览器都支持Ajax,但较旧版本的IE和其他...

    李炎恢jQuery在线课堂讲义.pdf

    jQuery是JavaScript的一个强大库,它简化了DOM操作、事件处理、动画制作以及Ajax交互等常见任务,极大地提高了开发效率。这份讲义详细阐述了jQuery的核心概念和实践技巧。 一、jQuery基础 jQuery的核心在于它的...

    WEB开发 之 jQuery - AJAX get() 和 post() 方法.docx

    此外,jQuery还提供了`$.ajax()`方法,它是`$.get()`和`$.post()`的通用版本,可以处理更复杂的AJAX请求配置。 在实际开发中,GET和POST的选择取决于具体需求。GET通常用于获取静态或非敏感数据,而POST则用于提交...

    jquery实现PDF在线预览 jquery实现在线预览PDF文档

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax...总的来说,jQuery和PDF.js的结合提供了一个强大且灵活的解决方案,使得在Web应用中实现PDF在线预览变得简单易行。

    PHP实例开发源码—Jquery 仿cnbeta通用评分插件.zip

    【标题】"PHP实例开发源码—Jquery 仿cnbeta通用评分插件.zip" 提供的是一款基于PHP和jQuery的评分插件实现,旨在模仿知名的互联网资讯网站CNBeta的评分系统。这个插件允许用户对文章或其他内容进行评分,并且能够...

    jQuery1.2API 中文手册

    `bind()` 和 `unbind()` 方法可以通用地处理事件绑定和解绑,而`live()`(在1.7版本后被`on()`取代)则支持动态添加元素的事件处理。 **四、动画效果** jQuery 的动画效果非常强大,`fadeIn()`, `fadeOut()`, `...

    jQuery中的Sizzle引擎分析

    jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互等任务。Sizzle是jQuery中的核心选择器引擎,专门负责解析和执行CSS选择器。Sizzle的设计目标是独立于DOM API,使其能够在各种...

    锋利的jQuery第2版源码

    5. **Ajax交互**:jQuery简化了Ajax请求,`.ajax()`方法是最通用的接口,`.get()`和`.post()`则针对常见的GET和POST请求。同时,会讲解如何使用`.load()`加载远程内容,以及处理JSON数据。 6. **插件开发**:jQuery...

    优秀的外文ajax资料

    尽管存在一种通用的解决方案,即异步远程事件处理,可以解决这两者之间的冲突,但传统的Web应用程序的请求-响应模型并不适合从中受益。 在这一章中,我们的目标是通过Web浏览器提供可用的独立应用程序,同时满足...

    精典jquery

    jQuery,作为JavaScript库的典范,以其简洁的API、强大的功能和广泛的浏览器兼容性赢得了开发者们的喜爱。在Web开发领域,jQuery扮演着至关重要的角色,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。本...

    jQuery基础教程2

    jQuery,一个轻量级的JavaScript库,极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。它是Web开发中不可或缺的一部分,尤其对于初学者而言,jQuery提供了友好的API,使得JavaScript编程变得简单...

    jquery用get实现ajax在ie里面刷新不进入后台解决方法

    知识点:在IE浏览器中使用jQuery的get方法实现Ajax请求时,因为IE浏览器的缓存机制,可能会导致Ajax请求不触发后台处理,仅仅返回缓存中的数据,而非最新的数据。这种情况下,通过在URL中加入时间戳的方式可以有效...

    概述jQuery中的ajax方法

    在使用jQuery的Ajax方法时,开发者可以通过设置`success`、`error`、`complete`等回调函数来处理不同的请求状态,同时可以通过`dataType`参数指定预期的响应类型,如'json'、'html'等。这极大地简化了处理异步请求的...

Global site tag (gtag.js) - Google Analytics