`
gcq04552015
  • 浏览: 458342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决JS提交url中存在中文的问题

    博客分类:
  • Js
阅读更多
在项目中经常回存在通过JS去请求操作的事件发生,而这些请求的url链接又通常会使用到中文,

而这些中文在JS中可以正常alert出来,但是提交给后台时就显示成乱码了。

这里提供一个解决方案,基本原理就是在JS中将中文转码成URI方式,如下:






        var queryTitle = document.getElementByIdx_x_x('queryTitle').value;  
        queryTitle=encodeURI(queryTitle);
        queryTitle=encodeURI(queryTitle);        //据说需要转2次



然后在后台获取的时候,解码URI:



        String newTitle = request.getParameter("newTitle");
        newTitle = java.net.URLDecoder.decode(newTitle, "utf-8");



这样就可以了



js:

function getDoctorMobile(currentElement,nextElement){
  var selected=currentElement.options[currentElement.selectedIndex].value;
  selected=encodeURI(selected);
        selected=encodeURI(selected);      
  if(selected != ''){
  jQuery.getJSON("${root}/admin/ajax/sys/area.do?action=GetDoctorMobile&doctorName="+selected,
     function(items){
       var output = [];
       jQuery.each(items, function(i,item){
         output.push('<option value="'+ item.mobile +'">'+ item.mobile +'</option>');
          });    
          $('#'+nextElement).html(output.join(''));
          $('#'+nextElement).css('display','');
     });
 
     }
}

java:

public String doGetDoctorMobile(Map<String, Object> context, CGI cgi) throws UnsupportedEncodingException {

  String name = cgi.getString("doctorName");
  name = java.net.URLDecoder.decode(name, "utf-8");

  Long hospitalId = (Long) cgi.getSession().getAttribute("hospitalId");
  if(hospitalId != null && StringUtils.isNotBlank(name)){

   UserInfo info = new UserInfo();
   info.setMedicalAgencyId(hospitalId);
   info.setDoctorName(name);
   Query<UserInfo> query = new Query<UserInfo>();
   query.setQueryObject(info);
   List<UserInfo> users  = userService.queryDoctor(query);
   writeJsonResponse(users, cgi);
  }
  return null;
}
分享到:
评论

相关推荐

    如何解决JQuery ajaxSubmit提交中文乱码

    分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据。因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据。 查看Header,发现Entity中的Content-Type...

    大名鼎鼎SWFUpload- Flash+JS 上传

     注意:该事件在Linux版本的Flash Player中存在问题,目前还无法解决。  - 传入参数  file object:文件对象  bytes complete:已经上传完毕的文件字节数  total bytes:文件总体积的字节数 [编辑本段]常见错误...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    KODExplorer 芒果云-资源管理器

    - 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

    ExtAspNet_v2.3.2_dll

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

    PHP开发实战1200例源码

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...

    DotNetTextBox V6.0.10 商业版 下载 (已知最新)

    2)修正上传功能中存在的一个安全问题!(重要更新)! 3)修正GIF图像添加文字水印无法自定义大小的BUG! 4)修正GIf图像生成缩略图质量较低的BUG! 2008/10/20 Version 5.0.7 For VS2005/2008 Updates: 1)修正...

    超实用的jQuery代码段

    超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    商用版本文本编辑器DotNetTextBoxV6.0.8Source 源码

    2)修正上传功能中存在的一个安全问题!(重要更新)! 3)修正GIF图像添加文字水印无法自定义大小的BUG! 4)修正GIf图像生成缩略图质量较低的BUG! 2008/10/20 Version 5.0.7 For VS2005/2008 Updates: 1)修正每次新建...

Global site tag (gtag.js) - Google Analytics