Ajax提交乱码

1. 页面码 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

1.1 如下图,传入到后台,显示正常,不为乱码

 $.ajax({
                        url:"/flowctrl/saveMessageAction.do?message="+"姓名",
                        type: "get",
                        //data:{message:aa},
                        dataType: "text",
                        success: function(data){
                              alert("发布成功!");
                              $("#content").html("");
                         },
                        error: function(data){
                             alert("发布失败!");
                         }
                     });

1.2 如下图,传入到后台,显示为乱码

 $.ajax({
                        url:"/flowctrl/saveMessageAction.do",
                        type: "get",
                        data:{message:"姓名"},
                        dataType: "text",
                        success: function(data){
                              alert("发布成功!");
                              $("#content").html("");
                         },
                        error: function(data){
                             alert("发布失败!");
                         }
                     });

解决办法:

强制转换为UTF-8

 $.ajax({
                        url:"/flowctrl/saveMessageAction.do",
                        type: "get",
                        data:{message:encodeURI("姓名",UTF-8")},
                        contentType: "application/x-www-form-urlencoded; charset=utf-8",
                        dataType: "text",
                        success: function(data){
                              alert("发布成功!");
                              $("#content").html("");
                         },
                        error: function(data){
                             alert("发布失败!");
                         }
                     });

后台代码:

接收时也需要强制转换回来,URLDecoder.decode(message,"UTF-8");

时间: 2024-10-10 02:38:06

Ajax提交乱码的相关文章

JQuery AJAX提交中文乱码的解决方案

?JQuery是一个非常优秀的框架,在特定场合下使用JQuery提交数据,相当的方便快捷. 但是,在处理一个GB2312编码的网站AJAX提交时,中文数据却成了乱码. 现象如下: 1)在Firefox下,处理页面的编码为gb2312,提交数据没有问题,中文能够正确解析: 2)在IE8下,处理页面的编码为gb2312,提交中文数据出现乱码. 无论是$.post还是$.ajax,抑或$.ajaxSubmit(来自于Form插件),在之前的UTF-8编码的网站都没有出现过任何问题, 看来是由于提交数据

ajax提交java后台接收参数出现乱码

1.现象: 前台ajax提交查询数据 $.ajax({ url: 'bdmap/xx.action', data:para, dataType:'json', contentType:"application/x-www-form-urlencoded", success: function(data){ if(data.success){ callback(data.data); } }}) Request URL:http://localhost:8083/bdmap/xx.act

ajax提交的中文便会变成乱码

当网站页面不是utf-8编码时,ajax提交的中文便会变成乱码,解决方法如下:找到jquery.js里的contentType:application/x-www-form-urlencoded,将它改成contentType:application/x-www-form-urlencoded; charset=UTF-8就可以了.原因:未指定charset时,jquery使用ISO-8859-1,ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加

Jquery Mobile Ajax 提交 中文乱码问题

几百个字段都是中文名,Ajax提交时,参数名也是中文,传值接收一直乱码, 于是乎: 前端:encodeURIComponent(encodeURIComponent(参数)) 后台:URLDecoder.decode(s,"utf-8") 终于解决了乱码问题...

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

ajax中文乱码问题的总结

ajax中文乱码问题的总结 2010-12-11 22:00 5268人阅读 评论(1) 收藏 举报 ajaxurljavascriptservletcallback服务器 本章解决在AJAX中常见的中文问题,分析中文乱码产生的原因,以及如何解决乱码问题 1. HTTP协议的编码规定 在HTTP协议中,浏览器不能向服务器直接传递某些特殊字符,必须是这些字符进行URL编码后再进行传送.url编码遵循的规则: 将空格转换为(+) 对0-9,a-z,A-Z之间的字符保持不变. 对于所有其他的字符,用这

知问前端——Ajax提交表单

本文,运用两大表单插件,完成数据表新增的工作. 一.创建数据库 创建一个数据库,名称为:zhiwen,表——user表,字段依次为:id.name.pass.email.sex.birthday.date. 本人是使用的Navicat for MySQL创建的user表, user表的结构如下: 所需的PHP文件:config.php.add.php.(本人没学过php,所以不过多解释) config.php: <?php header('Content-Type:text/html; char

Ajax提交底层原型XMLHttpRequest

相信接触过ajax的都觉得其post,get提交很方便,那么他是怎么实现的呢?基于此我们就不得不谈到js中的XMLHttpRequest对象. 其中w3c中是这样解释的: XMLHttpRequest 对象用于在后台与服务器交换数据. XMLHttpRequest 对象是开发者的梦想,因为您能够: 在不重新加载页面的情况下更新网页 在页面已加载后从服务器请求数据 在页面已加载后从服务器接收数据 在后台向服务器发送数据 所有现代的浏览器都支持 XMLHttpRequest 对象. XMLHttpR

ajax提交请求为啥url要用这个函数encodeURI

参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式例如:ajax提交到后台的,就需要对url进行encodeURI编码,否则,会导致后台出现各种乱码,不加encodeURI的话,默认浏览器编码格式提交,这样的话,浏览器不同,传到后台的值也就不同了,所以建议使用encodeURI统一编码为utf-8的格式到后台,然后后台再处理再解码就行了,如果后台是utf-8的,好像也可以不手动解码,但是建议加上解码,避免发布环境不同的时候,会出现问题. http://zhi