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
相关推荐
1. 打开jQuery源代码,定位到处理Ajax请求的`ajax`函数内部,找到`param`函数,该函数负责处理请求参数。 2. 修改`param`函数内的`encodeURIComponent`调用,使其根据设定的字符集进行URI编码。以下是一个示例代码...
然而,在处理中文字符时,Ajax请求可能会遇到乱码问题,这主要是由于编码格式不一致或者处理不当导致的。本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**...
首先,我们需要理解AJAX请求的基本流程。在使用JQuery的$.ajax()或$.get()、$.post()等方法发送请求时,请求头(Request Headers)中的`Content-Type`字段决定了数据的编码方式。通常,我们希望这个值设置为`...
总的来说,jQuery的Ajax过滤器提供了强大的灵活性,使我们能够在Ajax请求的各个阶段插入自定义逻辑,包括对数据的预处理和后处理,有效地解决了乱码问题。结合`AjaxForm`插件,我们可以轻松地实现表单的Ajax提交,...
在Web开发过程中,使用Ajax技术与服务器端交互数据时经常会遇到字符集编码的问题,尤其是在使用GBK编码的环境中,通过jQuery发起的Ajax请求往往会导致中文乱码的情况出现。这不仅影响用户体验,也给开发工作带来了...
在使用JQuery进行ajax请求时,经常会发生中文乱码的情况,这个问题主要发生在请求数据的编码和服务器端对请求数据的解码不一致时。为了解决这个问题,需要确保从前端发出的请求数据以及服务器端对请求数据的处理都...
2. **Ajax请求数据编码错误**:当使用jQuery的Ajax功能发送请求时,如果没有正确设置请求头中的`Content-Type`参数,或者在传输过程中未对中文进行正确的编码,也会导致接收端解析出错。 3. **页面编码设置**:HTML...
通过以上步骤,大部分情况下可以有效解决jQuery AJAX请求中的中文乱码问题。然而,每个环境和服务器配置可能略有不同,所以可能需要根据实际情况进行调整。了解这些基础知识后,开发者就能更好地应对类似问题,保证...
JQuery作为一个流行的JavaScript库,提供了许多方便快捷的方法来进行AJAX请求。但在处理中文字符时,有时会出现乱码问题,特别是在使用非UTF-8编码的网站时。这个问题在不同的浏览器上表现也不尽相同,比如在IE和...
3. 在jQuery AJAX请求中明确指定`contentType`,尤其是对于IE浏览器,要包含`charset=utf-8`。 4. 对于包含特殊字符的数据,可以考虑在前端进行编码处理。 通过以上措施,可以有效地避免和解决AJAX提交数据时可能...
在Jquery中,解决Ajax提交乱码的关键在于正确地设置请求头(Header)中的`Content-Type`字段,确保客户端发送数据时使用的字符编码与服务器端所期待的字符编码相匹配。具体来说,可以设置`Content-Type`为`...
总的来说,解决Ajax传值到Servlet的乱码问题需要确保每个环节的编码设置一致,从JSP页面到Ajax请求,再到Servlet的接收和响应。只有这样,才能保证数据在整个传输过程中不发生乱码。记得在排查问题时,逐步检查每个...
在jQuery的Ajax请求中,可以对包含中文的参数进行两次`encodeURI`编码。这是因为`encodeURI`函数可以编码URI中的特殊字符,但保留某些特殊字符,如空格。在前端,修改Ajax请求的data部分如下: ```javascript data:...
同时,文件列表中的jquery.js是jQuery库本身,而ajax_json.php可能是服务器端处理AJAX请求的PHP脚本,负责接收和处理来自前端的数据。 在jQuery中,使用AJAX的基本语法如下: ```javascript $.ajax({ url: 'ajax_...
当接收到Ajax请求时,服务器需要正确识别请求中的编码,同时在返回响应时也需要使用正确的编码格式。在Servlet中,可以通过以下方式设置编码: ```java request.setCharacterEncoding("UTF-8"); // 设置请求编码 ...
本文将详细介绍如何解决Ajax请求中出现的中文乱码问题。 首先,我们需要理解Ajax请求的基本原理。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,与服务器交换数据并更新部分网页的技术...
本文详细讲解了如何使用纯JavaScript和jQuery实现兼容多浏览器的Ajax请求,包括创建XMLHttpRequest对象、设置请求参数、处理响应以及解决可能出现的乱码问题。无论选择哪种方式,了解这些基本原理都有助于更好地理解...
- AJAX请求设置不当:XMLHttpRequest对象在发送请求时未正确设置字符编码,导致数据在传输过程中被错误处理。 - 数据类型转换问题:当数据以JSON或XML形式返回时,解析过程中的编码处理不正确。 2. 解决方案 - ...