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

jquery ajax传递中文乱码问题

阅读更多
由于我们的系统是GBK编码,在使用jquery ajax传递中文时,在后台action中乱码(该原因是由于jquery编码为UTF-8产生的),使用encodeURI等均在后台中无法转成正常中文。使用escape解决此问题,但是需要自行在后台解码(重写js unescape方法),解码方法如下的unescape方法。

jquery:
function applySecKill() {
	var userName = $("#userName").val(); 
	var mobile = $("#mobile").val(); 
	$.ajax({ 
		url: "/apply/apply.do", 
		type: "post", 
		data: {'userName': escape(userName), 'mobile': mobile			success: function(data, status) {
			if(data.indexOf("|")>=0) {
			var arr=new Array();
			var arr=data.split('|');
			var obj = document.getElementById("apply");
			obj.innerHTML=arr[0]+",报名成功";
			alert(arr[1]);
			window.location.reload();
			} else {
			alert(data);
			}
		} 
	});
}


public class Escape {

	public static String unescape(String src) {
		if (src == null)
			return null;
		StringBuffer tmp = new StringBuffer();
		tmp.ensureCapacity(src.length());
		int lastPos = 0, pos = 0;
		char ch;
		while (lastPos < src.length()) {
			pos = src.indexOf("%", lastPos);
			if (pos == lastPos) {
				if (src.charAt(pos + 1) == 'u') {
					ch = (char) Integer.parseInt(src
							.substring(pos + 2, pos + 6), 16);
					tmp.append(ch);
					lastPos = pos + 6;
				} else {
					ch = (char) Integer.parseInt(src
							.substring(pos + 1, pos + 3), 16);
					tmp.append(ch);
					lastPos = pos + 3;
				}
			} else {
				if (pos == -1) {
					tmp.append(src.substring(lastPos));
					lastPos = src.length();
				} else {
					tmp.append(src.substring(lastPos, pos));
					lastPos = pos;
				}
			}
		}
		return tmp.toString();
	}

}
分享到:
评论

相关推荐

    Ajax中文乱码问题解决方案

    然而,在处理中文字符时,Ajax请求可能会遇到乱码问题,这主要是由于编码格式不一致或者处理不当导致的。本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**...

    jQuery ajax方法传递中文时出现中文乱码的解决方法

    在使用jQuery的AJAX方法进行数据交互时,有时会遇到中文字符乱码的问题。这是因为浏览器、服务器和前端之间编码不一致导致的。本文将详细解释这个问题,并提供有效的解决方案。 首先,我们要理解AJAX(Asynchronous...

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

    在使用jQuery的Ajax功能进行数据交互时,可能会遇到中文参数乱码的问题。这通常是由于服务器与客户端之间...遵循以上步骤,可以有效地避免`jQuery Ajax`在传递中文参数时出现的乱码问题,保证数据的正常传输和解析。

    jQuery Ajax传值到Servlet出现乱码问题的解决方法

    本文将详细解释如何解决jQuery Ajax向Servlet传递参数时出现的乱码问题。 首先,我们需要理解乱码产生的原因。乱码通常发生在以下几个环节: 1. **JSP页面的编码设置**: JSP页面的编码至关重要,确保它正确地...

    jquery.ajax的url中传递中文乱码问题的解决方法

    JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题。 而我们的UTF-8则可以解决这一问题。 最终指需要修改JQuery的代码,显式声明contentType使用utf-8字符集,即可...

    JQuery.ajax传递中文参数的解决方法 推荐

    总结起来,解决JQuery.ajax传递中文参数乱码问题的核心在于: 1. 在`$.ajax`设置中指定`contentType: "application/x-www-form-urlencoded; charset=UTF-8"`。 2. 服务器端的页面响应编码(如ASP.NET的`...

    jquery uploadify scriptData 中文乱码

    在使用jQuery Uploadify插件时,用户可能会遇到“scriptData”参数中的中文数据出现乱码的问题。这通常是因为字符编码不一致导致的。Uploadify是一个非常流行的文件上传插件,它允许用户通过异步方式上传文件,同时...

    jquery自动补全示例。包括后台,中文乱码解决JS

    本示例将涵盖如何使用jQuery实现自动补全功能,包括解决中文乱码问题以及常用属性配置。 ### 1. jQuery自动补全基本原理 jQuery 自动补全基于jQuery库,通过监听用户在输入框中的输入事件,实时查询预定义的数据集...

    JQuery ajax 返回json时出现中文乱码该如何解决

    在使用JQuery的ajax方法调用返回JSON格式数据时,如果遇到中文字符显示乱码的情况,这是一个常见的问题,尤其在前后端交互过程中,因为编码格式不一致导致的字符显示错误。为了解决这个问题,我们需要确保前后端在...

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

    在Java Web开发中,Ajax技术常常用于实现页面的异步更新,但遇到中文乱码问题时,会导致数据传递出现错误。以下是一些解决Ajax中文乱码问题的方法: 1. **方法一:使用`encodeURI`编码** 当使用jQuery的Ajax方法...

    真正的JQuery.ajax传递中文参数的解决方法

    总结来说,当遇到JQuery ajax传递中文参数时出现乱码问题,开发者需要在ajax请求中显式声明contentType为`application/x-www-form-urlencoded;charset=UTF-8`。这样,无论页面编码是什么,中文数据都能被正确编码和...

    JQuery的Ajax中Post方法传递中文出现乱码的解决方法

    在使用Ajax传递中文字符时,推荐使用UTF-8编码,这样可以避免出现乱码的问题。 5.关于HTML页面的编码设置:在HTML页面中,可以通过meta标签设置页面的编码格式,例如;charset=UTF-8"/&gt;,这样可以保证页面中的中文...

    escape --AJAX和JS传中文乱码的最终解决方案

    总结来说,解决AJAX和JS传中文乱码问题的关键在于理解各种编码方式,以及在客户端和服务器之间正确地转换和传递数据。通过合理运用JavaScript的"escape"、"encodeURIComponent"等函数,并确保统一的编码标准,我们...

    Asp中使用JQuery的AJAX提交中文乱码解决方法

    在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很容易出现乱码问题。为了解决这个问题,我们可以使用Asp自带的unescape()和escape()函数来进行编码和解码操作,以此确保数据在客户端与...

    jquery ajax post提交数据乱码

    在使用jQuery的AJAX方法(如$.ajax()或$.post())进行数据提交时,可能会遇到在某些浏览器中数据乱码的问题。这通常与字符编码有关。以下是解决这一问题的一些方法: 1. 统一编码:确保文件编码、数据库编码和网页的...

Global site tag (gtag.js) - Google Analytics