`
sweader
  • 浏览: 23296 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

aiax中发送、获取数据的编码问题

阅读更多
方法一
//要传递的参数
   var queryString = "firstName=" + firstName + "&lastName=" + lastName
                          + "&birthday=" + birthday;    function  

//GET方式提交    doRequestUsingGET() {             createXMLHttpRequest();            var url = "GetAndPostExample?" + queryString+ "&timeStamp="                              + new Date().getTime();             xmlHttp.onreadystatechange = handleStateChange;             xmlHttp.open("GET", url, true);             xmlHttp.send(null);    }       //POST方式提交    function doRequestUsingPOST() {             createXMLHttpRequest();            var url = "GetAndPostExample?timeStamp=" + new Date().getTime();             xmlHttp.open("POST", url, true);             xmlHttp.onreadystatechange = handleStateChange;             xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");             xmlHttp.send(queryString);    }  
当在servlet接收参数时,必须要这样:
//当用POST方法时,一定要设置成utf-8,否则乱码
String firstName = new String(request.getParameter("firstName").getBytes("ISO-8859-1"), "utf-8");

//当用GET方法时,要设置成GB2312,否则乱码
String lastName = new String(request.getParameter("lastName").getBytes("ISO-8859-1"), "GB2312");

方法二
使用GET方式提交数据的时候,中文问题很好解决,setRequestHeader("Content-Type","text/html; encoding=gb18030")就可以了。

使用POST:
表单页面中的js使用如下部分
//打开连接
xmlhttp.open("post", "/shake/ajaxAdd.jsp", false);
//当方法为post时需要如下设置http头
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//发送数据
var post="title="+title+"&content="+content+"&leibie="+leibie;
post = encodeURI(post);
post = encodeURI(post);  
xmlhttp.send(post);

接收处理页面中
String title=request.getParameter("title");
String content=request.getParameter("content");
String leibie=request.getParameter("leibie");
title = java.net.URLDecoder.decode(title, "UTF-8");
content = java.net.URLDecoder.decode(content, "UTF-8");
leibie = java.net.URLDecoder.decode(leibie, "UTF-8");

当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的解码函数 java.net.URLDecoder.decode()就可解出原始的正确的信息。
分享到:
评论

相关推荐

    JQuery全集,aiax流行框架

    源码分析有助于开发者理解jQuery内部机制,而技术讨论则涵盖了使用技巧、最佳实践和问题解决方案。 **五、jQuery组件包** `JQuery组件包.rar` 包含了一系列预封装好的jQuery插件,这些插件可以快速实现诸如轮播图...

    在Java中使用Aiax技术实现自动完成功能

    1. **实时性**:当用户在输入框中键入内容时,应该能够实时地获取到匹配的结果。 2. **匹配算法**:需要一个高效的算法来匹配用户输入的内容与数据库中的关键词。 3. **显示方式**:结果应当以列表形式展示在输入框...

    疯狂Aiax讲义

    【疯狂Aiax讲义】是一份由知名IT教育家李刚编写的教程,主要针对的是Web开发中的Ajax技术,同时也涵盖了XHTML、CSS和JavaScript等基础和关键性的前端技术。Ajax,全称Asynchronous JavaScript and XML,是一种在无需...

    IW和ajax.pdf

    - **安全性考量**:由于AJAX请求是异步进行的,因此在处理敏感数据时需要特别注意安全性,避免数据泄露等问题的发生。 - **兼容性问题**:不同浏览器对于AJAX的支持程度可能有所不同,因此在开发时需要考虑浏览器的...

    PHP+Ajax网站开发典型实例

    实例34 数据编码 实例35 简单购物车 第5章 PEAR和正则表达式实例 实例36 PEAR管理器安装及PEAR包常见操作 实例37 HTML QuickForm完成表单验证 实例38 Calendar仓ll建日历 实例39 File Find搜索文件 实例40 ...

    本程序使用jquery的aiax技术,使 dtree以 json的方式读取目录树,后台语言使用的是 php

    1.本程序使用jquery的aiax技术,使 dtree以 json的方式读取目录树,后台语言使用的是 php 2.你可以不使用jquery的aiax,js 的一样,后台你也可以使用asp,jsp等语言,看个人实际

    【卷一/共两卷】AJAX实战pdf高清版90M

    4.3 Aiax应用中的控制器 4.3.1传统的JavaScript事件处理函数 4.3.2 W3C事件模型 4.3.3 在JavaScript中实现灵活的事件模型 4.4 Ajax应用中的模型 4.4.1 使用JavaSctjpt为业务领域建模 4.4.2 与服务器交互 4.5 从模型...

    jQuery Bootstrap分页插件.zip

    jQuery Bootstrap分页插件便是为了解决这一问题而生,它结合了jQuery的强大功能和Bootstrap的优雅设计,为开发者提供了自定义颜色和页数的分页解决方案。本文将深入探讨这款插件的使用方法和实现原理。 一、jQuery...

    Ajax基础教程

    6. **处理响应**: 使用`responseText`或`responseXML`属性获取服务器返回的数据,然后利用DOM操作将新数据插入到网页的适当位置。 7. **更新UI**: 根据接收到的数据,使用JavaScript和DOM更新用户界面。 **Ajax的...

    java ajax 入门

    **发送数据**:向服务器发送数据。 - **创建XMLHttpRequest对象**: - **Mozilla浏览器**:`new XMLHttpRequest();` - **IE旧版本**:`new ActiveXObject("Msxml2.XMLHTTP");` - **IE5.0以上**:`new ...

    ajax 同步请求和异步请求的差异分析

    在实际开发中,通常我们会使用异步请求,并在`onreadystatechange`事件中定义回调函数,以处理服务器返回的数据。当`readyState`属性等于4(表示请求已完成),且`status`属性等于200(表示请求成功)时,说明服务器...

    AJAX天气预报前台

    loadifo”).innerHTML = “正在加载数据…” for(i=0;i;i++) { settime(loadtime); } } else if(xmldoc.readyState == 4){ if(xmldoc.status == 200){ //处理XML数据 ifodis(); //解析XML数据 var xmlRoot = xmldoc....

    XML入门经典(第4版).part4.rar

    《XML入门经典(第4版)》能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布...

    XML入门经典(第4版).part3.rar

    《XML入门经典(第4版)》能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布...

    XML入门经典(第4版).part2.rar

    《XML入门经典(第4版)》能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布...

    【卷2/共两卷】AJAX实战pdf高清版90M

    具体目录见卷一 第一部分 重新思考Web应用 第1章 一种新的Web设计方法 1.1 为什么需要Ajax富客户端? 1.1.1 比较用户体验 1.1.2 网络延迟 1.1.3 异步交互 1.1.4 独占或瞬态的使用...1.2.2 服务器交付的是数据而不是内容

    XML入门经典(第4版).part1.rar

    《XML入门经典(第4版)》能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布...

    CSS网站布局实录 (第二版)PDF版

    A.2 我来说点儿Aiax的事儿 A.3 Web标准的思考 A.4 闪客帝国网站重构访谈 附录B 相关资源及术语表 B.1 相关网站 B.2 相关书籍 B.3 相关工具 B.4 术语表 《CSS网站布局实录:基于Web标准的网站设计指南(第2版)》编辑...

    深入浅出javascript-head first javascript 中文版

    《深入浅出JavaScript(中文版)》覆盖了所有的javascript基本知识,从基本网络编程技巧,如变量、函数和循环语句,到高级一些的专题,如表单验证、dom操作、客户端对象、脚本程序调试——甚至是aiax!赶快做好准备……...

    Ajax 单页面搜索提示 的实现

    单页面实现Aiax的搜索提示 虚拟模拟实现搜索历史记录提示 有servlet jsp 及css

Global site tag (gtag.js) - Google Analytics