`

jquery ajax 请求 乱码

阅读更多

 jquery ajax 请求 乱码

 

 一、前台:解决中文提交乱码contentType:"application/x-www-form-urlencoded; charset=UTF-8"

 

$.ajax({  

                url:xpcHomeLocation+'PlugInManageAction.do?operation=getMenus',  

                dataType:"json",  

                contentType:"application/x-www-form-urlencoded; charset=UTF-8", //解决中文提交乱码问题  

                success:function(result){  

                      

                }  

            })  

 

二、后台:解决中文返回jsp页面乱码 response.setContentType("text/xml;charset=utf-8");//fix the Chinese 

 

       ObjectMapper objectMapper=new ObjectMapper();  

       Map<String,Object> result=new HashMap<String,Object>();  

       result.put("menus",StringUtils.join(menusNameList.toArray(),","));//use to autocomplete  

        

       String out=objectMapper.writeValueAsString(result);  

       response.setContentType("text/xml;charset=utf-8");//解决中文返回乱码问题  

       response.getWriter().print(out);  

 

或者:json格式输出第二种方法

        JSONArray json = JSONArray.fromObject(SysList);//SysList是一个List  

        //设置response的ContentType解决中文乱码  

        response.setContentType("text/html;charset=UTF-8");  

        response.getWriter().print(json.toString());  

 

三、取数据乱码:

1.首先不要用get提交而要用post  

2.然后encodeURI参数 

3.request.setCharacterEncoding("utf-8");

   response.setCharacterEncoding("utf-8");

   response.setContentType("application/x-json");

4.后台menu=URLDecoder.decode(menu,"utf-8");取出正确数据

 

$.ajax({  

                url:xpcHomeLocation+'PlugInManageAction.do?operation=checkMenuExist',  

                type:"post",  

                dataType:"json",  

                data:{  

                    "tab":encodeURI(tabName),  

                    "menu":encodeURI(menu),  

                    "menui18n":encodeURI(menui18n),  

                    "menuI18nTitle":encodeURI(realMenu)  

                },  

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

                success:function(result){},error{}  

四。解决返回的json乱码问题

       response.setContentType("text/json;charset=UTF-8");

       或

       response.setContentType("application/json;charset=UTF-8");

       PrintWriter writer = response.getWriter();

       writer.print(myJson);、

 

     注:

     json 的 contentType 常见写法有: text/json & text/javascript . 

     但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义. 

     对于json的contentType , rfc里定义的标准写法是 :application/json .

     在这里毫无疑问 我们应该选择标准写法的 application/json

分享到:
评论

相关推荐

    JQuery发送ajax请求时中文乱码问题解决

    主要介绍了JQuery发送ajax请求时中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

    本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法。分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 ...

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

    最近有朋友反映使用jquery.ajax调用返回json时出现中文乱码,遇到此问题,非常棘手,下面小编帮大家解决JQuery ajax 返回json时出现中文乱码问题,感兴趣的朋友跟着一起了解了解吧

    jquery ajax post提交数据乱码

    在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset...

    用jquery ajax asp实现的搜索引擎的输入输出

    用jquery ajax asp实现的搜索引擎的输入输出 功能点: (1)读写cookie (2)在js中获取asp请求中的数据 (3)使用jquery ajax实现的翻页功能 (4)解决通过ajax转发后,搜索结果列表中文乱码的问题

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

    jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注 代码如下:smsubmitclick = function(){ $...

    JQuery中Ajax的Post提交在IE下中文乱码的解决方法

    引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: 代码如下: var regid = $(‘#oregion’).combobox(‘getValue’); //var sname = $(‘#sname’).val(); ...

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

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

    jquery+ajax无刷新评论源码

    jquery+ajax无刷新评论源码 实现了获取评论无刷新,发表评论无刷新,页面获取评论时显示loading加载效果 jquery真的是一个非常优秀的JS库,简单容易掌握,对于网页中的多级菜单、级联效果、Tab选项卡切换、图片...

    js与jQuery实现的兼容多浏览器Ajax请求实例

    主要介绍了js与jQuery实现的兼容多浏览器Ajax请求,以实例形式分别讲述了采用纯js与jQuery实现的兼容多浏览器Ajax请求的方法,并对Ajax中出现的乱码问题进行了一定的分析,需要的朋友可以参考下

    jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解

    当我们用javascript写ajax程序写得很“开心”的时候,突然有人告诉你有一种东西叫jquery,它会告诉你不直接和HttpRequest是...url:string类型,ajax请求的地址。 data:可选参数,object类型,发送至服务器的key/value

    Ajax传递中文参数到后台乱码的有效解决方法

    使用Ajax传递中文参数,如果不对参数进行处理的话,传到后台会变成乱码,经测试可以使用如下方法 这里是以jquery.autocomplete插件中获取输入框中的数据传到后台为例: 注意要对中文使用encodeURI编码两次 代码如下:...

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

    许多人在使用JQuery.ajax方法时肯定会遇到一个问题。在编码不是UTF-8的时候,当传递的参数里有中文的时候,服务端Request的时候都会出现乱码。

    Jquery的Ajax技术使用方法

    jquery是一个优秀的js框架,自然对js原生的ajax进行了封装,封装后的ajax的操作方法更简洁,功能更强大,与ajax操作相关的jquery方法有如下几种,但开发中经常使用的有三种: 1)$.get(url, [data], [callback], ...

    ajax实现excel报表导出

    利用ajax实现excel报表导出【解决乱码问题】,供大家参考,具体内容如下 背景 项目中遇到一个场景,要导出一个excel报表。由于需要token验证,所以不能用a标签;由于页面复杂,所以不能使用表单提交。初步考虑前端...

    Ajax学习文档(无门槛-精)Markdown File (.md)

    ajax-Post和Get请求与传统请求、ajax乱码问题、ajax同步异步、ajax代码封装jQuery库、跨域问题以及解决方案、ajax搜索联想 自动补全、附录:HTTP状态信息

    快速解决FusionCharts联动的中文乱码问题

    问题内容: ... fusioncharts有setDataXML,setDataURL 这两个方法是用来设置数据的...如果你Ajax请求的返回内容乱码,就直接使用Jquery.ajax. 代码如下:function mychartclick(month) { var id =1;  var d = new Date(); 

    Java面试宝典2020修订版V1.0.1.doc

    14、jquery中的$.get和$.post请求区别? 27 15、jquery中如何操作样式的? 28 16、如何设置和获取HTML和文本的值? 28 17、Jquery能做些什么? 28 18、在ajax中data主要有哪几种? 28 19、jQuery中ajax由几部分组成...

Global site tag (gtag.js) - Google Analytics