• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ajax提交到servelt获取参数有乱码的解决方法
    在这里,假设读者了解基本的

    ajax

    技术或更多。我仅仅阐述一个现象,一个解决方法;原因、

    原理,同样不清楚

    ……

    我们先从简单的着手,

    servlet传值到JSP页面js

    脚本中,利用脚本将相关值显示在页面。解决这个方向(servlet——javascript)的中文乱码问题很简单。只需要在

    servlet中,添加一个

    编码设置:
    复制代码 代码如下:

    response.setContentType("text/html;charset=UTF-8");

    而且JSP页面编码方式可以随意设定,GBK、GB2312、UTF-8,当然

    ISO-8859-1是不行的,至少你要在页面显示中文。

    从js脚本传中文到servlet,问题因xmlHttp对象open()方法中,传值方式(GET、POST)不同,而分为两种情况:

    在介绍这个问题之前,先将两种传值方式区别展示一下:

    假设传递值“软件工程”,变量名为“selcol”。

    1、GET方法:
    复制代码 代码如下:

    function selectCol(){

    createXMLHttpRequest();

    var selcol = "

    软件工程
    复制代码 代码如下:

    ";

    var url = "/emp/FindSpecial?selcol=" + selcol;

    xmlHttp.onreadystatechange = handleStateChange;

    xmlHttp.open("GET",url,true);

    xmlHttp.send(null);

    }

    2、POST方法:
    复制代码 代码如下:

    function selectCol(){

    createXMLHttpRequest();

    var selcol = "selcol=软件工程";

    var url = "/emp/FindSpecial";

    xmlHttp.onreadystatechange = handleStateChange;

    xmlHttp.open("POST",url,true);

    xmlHttpxmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    xmlHttp.send(selcol);

    }

    如果使用GET方式传递,那么我们在servlet拿值的时候,以如下方式转编码:
    复制代码 代码如下:

    String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");

    转GBK、GB2312都行,转UTF-8不行!

    这个时候也许你会很奇怪的发现,这两个语句竟然同时出现:
    复制代码 代码如下:

    response.setContentType("text/html;charset=UTF-8");
    String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");


    个人是这样理解的:第一句仅保证,从此servlet传递出去的数据编码方式为UTF-8;

    而后者则是将传递进来的数据转化成GBK编码的数据。方便与辨别和处理。

    如果使用POST方式传递,那么我们在servlet拿值的时候,同上,只是将编码转为UTF-8,

    而这个时候,GBK和GB2312不行!
    复制代码 代码如下:

    String selcol = new String(request.getParameter("selcol").getBytes ("ISO-8859-1"), "UTF-8");
    您可能感兴趣的文章:
    • java操作oracle数据库示例
    • java调用oracle分页存储过程示例
    • java读写oracle的blob字段示例
    • JAVA简单链接Oracle数据库 注册和登陆功能的实现代码
    • Java使用JDBC连接Oracle_MSSQL实例代码
    • java使用jdbc链接Oracle示例类分享
    • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
    • 在JSP中访问Oracle数据库
    • Java实现JSP在Servelt中连接Oracle数据库的方法
    上一篇:有关ajax的error与后台的异常问题解决
    下一篇:Ajax风格的一款网页Loading效果
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    ajax提交到servelt获取参数有乱码的解决方法 ajax,提,交到,servelt,获取,