`
starnc
  • 浏览: 144779 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

Ajax中文乱码问题及解决方法

阅读更多

场景:

使用jQuery的ajax方法提交ajax请求,代码如下:

1$.ajax({
2
    dataType : 'json'
3
    ,type : 'POST'
4    ,url : 'http://localhost/test/test.do'
5    ,data : {id: 1, type: '商品'}
6    ,success : function(data)
{
7
        
8    }
9});


问题:

提交后后台action程序时,取到的type是乱码

解决方法:

方法一:提交前采用encodeURI两次编码,记住一定是两次
1.修改以下代码

data:{id:1, type:encodeURI(encodeURI('商品'))}

2.在后台action里要对取得的字符串进行decode

1String type = request.getParameter("type");
2type = URLDecoder.decode(type, "UTF-8");


方法二:ajax配置contentType属性,加上charset=UTF-8
在ajax方法中加入以下参数

1contentType: "application/x-www-form-urlencoded; charset=UTF-8"

使用其它js框架或者xhr都是差不多,设置header中contentType即可,
这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的.
还补充一下jQuery里对参数已经进行了一次encodeURIComponent的处理

*方法二在action里不需要进行decode,所以推荐使用此方法

分享到:
评论

相关推荐

    Ajax中文乱码问题解决方案

    本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...

    java认证_Ajax中文乱码问题及解决方法.doc

    【Java认证:Ajax中文乱码问题及解决方法】 在Java Web开发中,使用Ajax进行异步数据交互时,经常会遇到中文乱码的问题。这主要涉及到字符编码的处理,特别是当Ajax请求发送的数据包含中文字符时。以下是两种常见的...

    jquery+asp ajax 中文乱码问题解决文档

    ### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...

    Ajax中文乱码问题解决方法

    本文将深入探讨Ajax中文乱码问题的原因及其解决方案。 首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果服务器和客户端之间关于字符编码的约定不一致,就会导致乱码。常见的原因包括: 1. **...

    Ajax 中文乱码问题

    本文将详细探讨如何解决Ajax请求过程中的中文乱码问题,并提供具体的解决方案。 #### 二、问题分析 在使用Ajax进行数据传输时,中文乱码问题通常出现在以下两个环节: 1. **发送表单数据时中文乱码**:当通过Ajax...

    ajax提交中文乱码解决方法

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

    ajax中文乱码如何解决

    针对Ajax中文乱码问题,这里提出一个解决方案,这个方案在作者的开发环境中(XP, Eclipse, GB18030编码)已经成功解决了问题: 1. **设置请求头**: 在发送POST请求前,需要设置Content-Type头,告诉服务器数据的...

    ajax中文参数乱码问题解决方法

    主要解决在ajax中中文参数传递过程中,服务器接收到中文乱码的问题

    ajax乱码解决方案

    **Ajax 乱码解决方案** Ajax 乱码问题在开发Web应用程序时经常遇到,尤其是在涉及到不同编码格式时。本文将深入探讨Ajax与字符编码相关的技术细节,并提供几种有效的解决策略。 首先,JavaScript处理字符的方式是...

    Struts框架下Ajax发送中文乱码问题的解决

    总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...

    ajax解决乱码问题

    ### 二、使用AJAX解决乱码问题的方法 #### 1. 设置正确的编码格式 在ASP.NET中,可以使用`<globalization>`标签在Web.config文件中设置请求和响应的编码格式。例如: ```xml requestEncoding="utf-8" ...

    c# ajax post数据乱码解决

    ### 三、其他可能的原因及解决方法 除了上述配置之外,还有其他一些可能导致乱码的原因: 1. **客户端编码设置**:确保客户端JavaScript代码中发送请求时使用的编码与服务器端一致。 在提供的示例代码中,可以...

    Ajax乱码解决方案(docx)

    Ajax乱码问题主要涉及到字符编码的处理,包括服务器端、客户端以及文件的编码设置。解决Ajax乱码问题的关键在于确保整个数据传输链路上的编码一致性。...通过这些方法,可以有效避免和解决Ajax相关的乱码问题。

    ajax到servlet乱码解决

    AJAX 到 Servlet 乱码解决方案 在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX ...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    AJAX中文乱码问题探讨及解决

    AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: var url=”a.jsp?name=小李”; xmlHTTP.open (“post”,url,true); 解决办法: 利用javascript的提供的escape()或...

    AJAX中文乱码解决

    本教程将详细介绍如何解决AJAX中文乱码问题,以在Windows Server 2008环境下为例,但原理适用于其他操作系统。 首先,我们需要理解乱码产生的原因。乱码通常是由字符编码不一致引起的。服务器和客户端之间传输的...

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

    在JSP中,当使用Ajax进行GET请求时,可能会遇到中文乱码的问题。这通常是由于URL编码不匹配或处理不当导致的。以下是一些解决这个问题的关键知识点和步骤: 1. **URL编码问题**: URL编码是一种标准,用于将特殊...

Global site tag (gtag.js) - Google Analytics