`
gcq04552015
  • 浏览: 461997 次
  • 性别: 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;
}
分享到:
评论

相关推荐

    PB如何提交WEB请求包含中文参数的解决方案全过程.docx

    PB 提交 WEB 请求包含中文参数的解决方案全过程 PB 是 PowerBuilder 的缩写,这是一种流行的开发工具,但是在提交 WEB 请求包含中文参数时,会出现乱码问题。本文将详细介绍如何解决这个问题,包括使用 GETURL 和 ...

    url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决

    在互联网世界中,URL(统一资源定位符)是用于定位网络资源的重要工具。然而,当URL参数中包含特殊符号如+、空格、=、%、&amp...通过遵循上述规则和使用合适的编码函数,我们可以有效解决URL参数中特殊符号带来的问题。

    magicajax0.3.0解决中文乱码

    《解决magicajax0.3.0中的中文乱码问题》 在进行Web开发时,我们经常需要使用Ajax技术来实现页面的异步更新,而MagicAjax作为一款强大的Ajax库,为开发者提供了便捷的接口和丰富的功能。然而,在处理中文字符时,...

    JQuery中Ajax的Post提交在IE下中文乱码的解决方法

    本文将深入探讨如何解决在IE浏览器下使用JQuery的Ajax POST提交时出现的中文乱码问题。 首先,我们需要理解问题的背景。在JQuery的Ajax POST请求中,当尝试向服务器发送包含中文字符的数据时,这些数据在Firefox和...

    LoadRunner常遇见报错问题解决方案

    - 如果应用中有特殊的交互需求(如 Java Applet、JavaScript/VBScript 代码等),则应使用 URL-based script 模式进行录制。 #### 五、Abnormal termination, caused by mdrvprocess termination **解决方法:** ...

    大名鼎鼎SWFUpload- Flash+JS 上传

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

    一句话解决AJAX中文乱码问题[推荐]

    为解决这个问题,文章提出了一个解决方案:使用JavaScript的`escape()`函数对将要提交的汉字进行编码。 `escape()`函数是JavaScript中的全局函数,用于对字符串进行编码,返回一个新的字符串,其中非ASCII字符都被...

    Ajax乱码解决方案

    此外,在发送包含中文等非英文字符的数据时,还需要对这些数据进行编码转换,以防止传输过程中的乱码问题。如示例代码中所示,通过`encodeURI(encodeURI(projectCode))`进行了两次URI编码,确保传输数据的正确性。 ...

    jquery问题记录总结

    解决策略是通过判断URL来绕过filter,或者在请求中传递用户标识,然后从数据库中获取用户信息。这样可以确保上传操作与用户身份关联。 5. **输入页码的数字验证**: 验证用户输入页码时,使用`onkeydown`事件比`...

    解决ASP.NET中的各种乱码问题总结

    在***开发中,乱码问题是常见的困扰开发者的问题,特别是涉及到数据编码、页面显示、以及AJAX提交等方面。本篇总结将围绕这些问题展开详细讨论,帮助开发者理解和解决乱码问题。 首先,***页面显示乱码问题经常会...

    jquery ajax传递中文参数乱码问题及解决方法说明

    本文将详细探讨使用jQuery进行Ajax请求时,传递中文参数可能出现的乱码问题,并给出解决这些问题的方法。当使用jQuery进行Ajax通信时,数据通常需要通过GET或POST方法传输,如果参数为中文,很可能会因为编码方式不...

    js调用AJAX时Get和post的乱码解决方法

    在JavaScript中,AJAX(Asynchronous JavaScript and XML)是一种用于创建动态网页的技术,它...在实际开发中,还需要考虑各种浏览器的兼容性,以及可能存在的其他编码问题,如文件上传、表单提交等场景下的编码处理。

    prototype 中文参数乱码解决方案

    在使用 Prototype JavaScript 库进行 AJAX 请求时,遇到中文参数乱码问题是一个常见的困扰。这个问题通常是由于字符编码不一致导致的,特别是在与服务器交互时,客户端和服务器端的字符编码设置不同步。以下是一些...

    KODExplorer 芒果云-资源管理器

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

    DWZ使用帮助文档

    - **补充说明和常见问题**: 官方文档中还提供了许多关于使用框架时可能遇到的问题及其解决方案的详细介绍,这些资料对于初学者来说非常宝贵。 总结而言,DWZ框架以其独特的设计理念和丰富的功能集,在众多前端框架...

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

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

    Ajax 中文参考手册.chm

    3. **JSONP(JSON with Padding)**:跨域请求的一种解决方案,但存在安全风险。 总的来说,Ajax 是 Web 开发中不可或缺的一部分,它极大地提高了网页的交互性和用户体验。理解并熟练掌握 Ajax 技术,对于成为一名...

    .NET企业级项目开发-1期 经验与技巧.doc

    1. **解决JQuery $.Post方法提交中文乱码问题**: 当我们在MVC项目中使用JQuery的$.Post方法发送包含中文的数据时,可能会遇到乱码问题。为了解决这个问题,我们需要在前端进行数据编码,使用JavaScript的`escape`...

    bootstrapvalidator是一款简单实用的Bootstrap3表单验证jQuery插件

    BootstrapValidator是针对Bootstrap3框架的一款高效且易于使用的jQuery表单验证插件,它极大地简化了在Web应用中实现复杂...对于JavaScript开发中的表单验证问题,BootstrapValidator无疑是一个值得信赖的解决方案。

    ExtAspNet_v2.3.2_dll

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

Global site tag (gtag.js) - Google Analytics