var params_= $("#form1").serialize();
$.ajax({
type:'post',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType:"html",
url:baseURL+'/saveContractBasicInfo.do?submit=Y&skipMode=jsp'+extraParam,//+'&'+decodeURI(params_),
data:decodeURI(params_), processData:false,
success:function(data, textStatus){
//alert(data);
if(data.indexOf("submitInSign")!=-1){
submitSign();
}else{
Ext.MessageBox.alert( '提示','失败,出错');
}
},
error:function(){
//alert("ff");
Ext.MessageBox.alert( '提示','失败,出错');
}
});
引用
contentType String
Default: 'application/x-www-form-urlencoded'
When sending data to the server, use this content-type. Default is "application/x-www-form-urlencoded", which is fine for most cases. If you explicitly pass in a content-type to $.ajax() then it'll always be sent to the server (even if no data is sent). Data will always be transmitted to the server using UTF-8 charset; you must decode this appropriately on the server side.
jquery 官方 API
$("#form1").serialize(); 把表单序列化成 par=value&par2=value2
decodeURI(params_)解码,因为serialize编码一次用utf-8,所以要解码一次
contentType: "application/x-www-form-urlencoded; charset=UTF-8", 即加上这个参数后,无论是否有数据,都会编码一次
processData:false 表示在处理传送数据到服务器时,不用编码处理了
就这样,后台服务端是GBK编码的,就不会乱码了,
之前,我尝试用下面的配置,还是乱码
contentType: "application/x-www-form-urlencoded; charset=GBK",
processData:true, 默认为true,我没填
总结分析:
我猜想 contentType 参数使用说明,无论怎么样,jquery都是用utf-8编码的,
加上这个,就是告诉服务端,要自动解码用utf-8,
其实我上面的,decodeURI 不用解码一次,反正,传递数据时,也编码了。
分享到:
相关推荐
AJAX提交中文乱码解决方法在Asp中使用JQuery AJAX(Asynchronous JavaScript and XML)是一种异步请求数据的技术,用于实现网页的局部刷新,而不需要重新加载整个网页。然而,在使用AJAX时,中文乱码问题经常会出现...
总结来说,解决JQuery AJAX提交中文乱码问题的关键在于确保客户端和服务器端字符编码的一致性。可以通过在AJAX请求中显式地设置字符集为UTF-8来解决,从而让服务器端能够正确地解码请求中的中文字符。这不仅适用于GB...
总结来说,解决JQuery ajaxSubmit提交中文乱码问题的关键步骤包括: 1. 确认JQuery的ajaxSubmit方法提交数据前默认使用了UTF-8编码。 2. 明确在ajaxSubmit的options参数中指定contentType为"application/x-...
【Java认证:Ajax中文乱码问题及解决方法】 在Java Web开发中,使用Ajax进行异步数据交互时,经常会遇到中文乱码的问题。这主要涉及到字符编码的处理,特别是当Ajax请求发送的数据包含中文字符时。以下是两种常见的...
### Ajax提交乱码问题的本质 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。当使用Ajax进行数据提交时,如果服务器端接收到的数据出现乱码,这通常是...
对提交的数据调用JQuery函数encodeURI进行编码再提交或显示或链接既可 url = encodeURI(url); //url为数据。 注:注意浏览器和发布的项目的缓存问题,很多时候会影响解决。 记事本默认gbk编码
在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很...通过上述方法,我们可以有效地解决在Asp中使用JQuery的AJAX提交中文时出现的乱码问题,并确保Web应用能够稳定、正确地处理中文字符。
对于中文乱码问题,这通常发生在数据的编码和解码过程中。为确保正确处理中文字符,你需要确保以下几个关键点: - 客户端(AJAX)与服务器端使用的字符编码保持一致,如UTF-8。 - 在发送AJAX请求时,设置请求头的...
总结来说,处理jQuery serialize()方法导致的中文乱码问题,关键是要理解encodeURIComponent与decodeURIComponent的编码解码机制,并在需要的时候对序列化数据进行正确的解码处理。这样可以确保数据的正确传输和使用...
最近用到了jquery的一个fom插件,是一个全面支持表单的jQuery插件。昨天在用ajaxSubmit进行Form Post提交的时候,发现服务器端取回的中文数据居然是乱码。这个可能是因为jquery是utf-8,不支持gb2312
首先,我们来讨论如何解决Struts提交中文出现乱码的问题。中文乱码通常与字符编码设置有关。在Struts中,主要涉及到以下几个环节: 1. **请求编码**:确保Web应用的`web.xml`配置文件中,`filter`部分的`filter-...
本文将详细介绍如何解决使用jQuery时遇到的中文乱码问题,并提供多种解决方案。 #### 二、问题背景 当使用jQuery的`$.ajax`方法发送请求时,如果请求数据中含有中文字符,则可能会导致接收的数据出现乱码。这主要是...
本文将深入探讨如何解决在IE浏览器下使用JQuery的Ajax POST提交时出现的中文乱码问题。 首先,我们需要理解问题的背景。在JQuery的Ajax POST请求中,当尝试向服务器发送包含中文字符的数据时,这些数据在Firefox和...
知识点五:解决AJAX中乱码问题的方法 在使用jQuery的AJAX方法(如$.ajax()或$.post())进行数据提交时,可能会遇到在某些浏览器中数据乱码的问题。这通常与字符编码有关。以下是解决这一问题的一些方法: 1. 统一...
今天闲的无聊,把以前遗留的问题解决一下,比如让人头痛的Jquery乱码问题。其实这方面文章已经很多了,但全面解决各种问题的很少,今天总结一下,方便自己也方便大家。原因很简单: 其实他的中文乱码就是因为...