`
eric_hwp
  • 浏览: 126631 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在Ajax程序中,将带有中文的URL转码及后台解析出正确的文字的解决方法

阅读更多

在Ajax程序中,在URL拼接时带有中文参数是不可避免的事情,如
var url='/YourAppName/CreateTodo.do?name='+name;其中name是来自inputbox的取值,它可能带有中文。

如果让Ajax直接提交这样的URL,那么后台用request.getParameter("name");这样的方法得到的name就会含有乱码。

解决之道是先对URL进行两次编码,用的是JavaScript的encodeURI函数,具体代码如下:
var url=encodeURI('/YourAppName/CreateTodo.do?name='+name);
url=encodeURI(url);
在后台的Servlet或是Action中,可以这样得到正确的文字:
Sting name=java.net.URLDecoder.decode(request.getParameter("name"),"utf-8");
就是这样,值得注意的是,中文环境的机器用容器跑WebApp也许不需要这样的处理,但其它环境如日文,英文就非此不可了,因此在编码时尽可能这样处理一下,如果安装后出现问题就会造成慌乱了。我们在编写Web程序时,最好让文件编码,数据库编码,输出编码,网页编码保持一致,这样能省去很多麻烦。

以上操作的具体原理请见:
http://yiminghe.javaeye.com/blog/243812
http://yiminghe.javaeye.com/blog/247837

 

分享到:
评论

相关推荐

    ajax提交,后台中文乱码解决

    本文将基于提供的文件信息,详细解析两种解决Ajax提交后台取值中文乱码的方法。 ### 方法一:使用URL编码 在第一个示例中,开发者通过调用`encodeURIComponent()`或`encodeURI()`函数对请求URL中的参数进行编码。...

    在vb.net (asp.net)中后台引用ajax函数的方法

    本文将详细介绍如何在后台引用AJAX函数,以VS2010 (VB.NET)作为开发工具,SQL Server 2000作为数据库进行演示。 首先,我们需要在项目中引入AJAX库。步骤S1涉及在项目中添加对`ajax.dll`的引用。这可以通过右键点击...

    Ajax中文乱码问题解决方案

    在实际开发中,可以结合使用以上方法来解决Ajax中文乱码问题。例如,可以使用jQuery的`$.ajax`方法,设置`contentType`和`dataType`属性,以及在成功回调函数中处理响应数据: ```javascript $.ajax({ url: 'your-...

    ajax提交中文乱码解决方法

    ### AJAX提交中文乱码解决方法 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript发起异步请求,与服务器进行数据交换,从而...

    jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...

    asp.net 利用jquery-ajax调用后台方法

    下面将详细介绍如何利用jQuery-AJAX调用ASP.NET后台方法。 1. **创建WebMethod** 在ASP.NET的C#或VB.NET代码中,我们可以创建一个静态的WebMethod,标记为 `[WebMethod]` 或 `[ScriptMethod]`,以便可以从...

    如何在Thymeleaf中实现ajax请求url的可靠构造

    Thymeleaf支持表达式语言(EL),可以获取模型属性并将其插入到URL中。例如,如果需要根据用户ID获取数据,可以这样做: ```html var userId = /*[[${userId}]]*/ 123; // 假设userId是模型属性 $.ajax({ url: ...

    ajax调用后台方法

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术...无论是在小规模项目还是大型复杂应用中,正确理解和使用Ajax都能带来显著的性能提升和用户体验改善。

    Asp.net中JQuery、ajax调用后台方法总结

    在上面的代码中,我们使用 `$.ajax()` 方法来调用后台方法 `RecordData`,并将参数 `browersType` 传递给后台方法。 在后台,需要使用 `[System.Web.Services.WebMethod()]` 特性来标记方法为可被调用的。示例代码...

    Ajax与JavaWeb后台分页

    在这个场景下,我们将探讨如何使用Ajax与JavaWeb进行后台交互,实现数据的分页显示,以及Gson库在数据传输中的作用。 首先,Ajax的核心是JavaScript对象XMLHttpRequest,它允许我们在后台与服务器进行异步通信。...

    ajax get请求中文参数乱码解决

    解决Ajax GET请求中文参数乱码的方法有以下几点: 1. 设置请求头编码:在发送Ajax请求时,可以设置`contentType`为`'application/x-www-form-urlencoded; charset=UTF-8'`,确保数据以UTF-8编码发送。 ```...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的问题:即通过Ajax发送带有中文字符的数据时,后端接收到的数据出现乱码现象。...

    ajax 前台js调用后台方法

    ### AJAX 前台JS调用后台方法详解 随着互联网技术的发展,前后端分离成为一种趋势,而异步请求作为前后端交互的重要手段之一,在实际开发中占据着重要的位置。AJAX(Asynchronous JavaScript and XML)是一种在无需...

    xml数据前后台解析:jdom与dom4j源码,程序可以跑

    本文将深入探讨XML数据在前后台解析的过程中,重点介绍两种主流的Java XML解析库——JDOM和DOM4J,并提供实际运行的程序示例。同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的...

    解决ajax请求后台,有时收不到返回值的问题

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现

    前台ajax与后台json传递

    在这个例子中,我们创建了一个新的XMLHttpRequest对象,设置请求方法为POST,目标URL为'/api/data',并指定了Content-Type为'application/json',表示我们将发送Json格式的数据。当请求状态改变时,我们检查...

    Ajax高级程序设计pdf

    本章将深入探讨XML和JSON,它们在Ajax中的角色,以及如何在JavaScript中解析和生成这些格式的数据。同时,也会对比两种格式的优缺点,帮助开发者选择合适的数据交换格式。 **第三章:XMLHttpRequest对象** ...

    JSP中 ajax的get请求的中文乱码问题的解决方法.pdf

    URL编码是一种标准,用于将特殊字符(包括非ASCII字符)转换为可安全包含在URL中的形式。在ISO-8859-1编码中,只有英文字符可以直接用于URL,而中文字符需要被编码。默认情况下,Tomcat服务器的Connector配置可能将...

    ajax 解析json数据

    无论使用哪种方法,都需要确保服务器返回的JSON数据格式正确,否则在解析时会抛出错误。同时,为了兼容旧版本的浏览器,可能需要引入polyfill库,如`whatwg-fetch`和`es6-promise`。 总结,AJAX解析JSON数据主要...

Global site tag (gtag.js) - Google Analytics