和大家探讨一个JQuery的乱码问题:今天在了解
var data = {name:"myName",pwd:"password"};
$.getJSON(url, data, function(json){
// add code here
});
这个方法的时候,发现在Java后台下列方法得到了乱码。
String name= request.getParameter("name");
我做了下列集中尝试:
- 利用javascript中的encodeURI方法进行中文编码
var info = jQuery.param(data);//或者
var info = "&aname=" + encodeURI(aName);//等等
都无法解决。
- 上网搜索的山寨方法
var info = "&aname=" + encodeURI(encodeURI(aName));//等等
首先在javascript里面做两次编码,然后再Java中解码一次获得
String name = URLEncoder.encode(request.getParameter("name"));
依然不成功,发现两次编码以后,已经不成样子了,至少我没有成功。
- OK,依然找不到方法从后台读出JSON对象,只有另想办法了。结果只有用
$.post(url, data, function(json){
// add code here
},"json");
//查了一下API
//post方法的type支持 json 类型
$.ajax({
dataType: "json"
});
//也顺便提下$.ajax方法的返回类型也支持json类型
//两者都可以用作获得JSON对象
结果就用post代替了,发此文章只是希望有人能解答$.getJSON乱码问题,谢谢,多多交流。
分享到:
相关推荐
在前端,jQuery的`$.getJSON`已经做了很好的处理,而在后端,如Java中,Gson库也可以有效地管理中文字符。对于其他编程语言和库,原理相同,都需要关注字符编码的设置。在实际开发中,遇到乱码问题时,检查请求和...
当我们用javascript写ajax程序写得很“开心”的时候,突然有人告诉你有一种东西叫jquery,它会告诉你不直接和HttpRequest是多么的快乐,同时你再也不需要再烦恼纠结的ajax乱码问题,更幸福的是你的js代码将大大地...
例如,如果你在使用jQuery(压缩包文件中的`jquery.js`),可以使用`$.ajax()`或`$.getJSON()`方法,它们默认处理UTF-8编码。如果需要自定义编码,可以通过配置`xhrFields`或`contentType`参数来实现。 ```...
3. 前端页面引入jQuery库,使用`$.getJSON`或`$.ajax`发起请求。 4. 处理服务器返回的JSON数据,完成前端展示或其他操作。 这种交互方式简化了前后端的数据交换,提高了应用的响应速度和用户体验。同时,由于使用了...
"jquery ajax post提交数据乱码"这个问题主要是由于不同浏览器对数据编码方式的处理不一致造成的。当我们在Firefox下测试时,一切正常,但在Chrome或IE内核的浏览器上,用户可能会遇到乱码问题。这通常与页面的字符...
例如,在jQuery中可以通过`$.ajax({dataType: 'json', ...})`指定数据类型为JSON并自动处理编码转换。 ##### 3. 字符串编码转换 - 在服务器端,可以使用Java的`new String(bytes, "UTF-8")`来进行编码转换。 - 在...
当$.getJSON()方法调用时,它会自动将返回的JSON数据转换为JavaScript对象,这使得处理变得更加方便。 ### 实际使用示例 文章中给出的示例展示了如何在实际开发中应用$.getJSON()方法来请求跨域数据。 ```...
而$.ajax()的上层封装方法,如load(), $.get(), $.post(), $.getScript()和$.getJSON()等,都提供了不同程度的便利性和简化。开发者需要根据实际需求来选择合适的jQuery Ajax方法来实现页面的局部或全部刷新。
针对提到的Ajax方法$.load乱码问题,如果服务器端响应的数据编码与客户端预期的编码不一致,就可能会出现乱码。解决这个问题的方法是确保服务器端和客户端页面使用相同的编码格式。在上述内容中,指出了服务器端和...
jQuery简化了Ajax的使用,提供了$.ajax()、$.get()、$.post()等高级接口。下面以$.ajax()为例,介绍其使用方法: ```javascript function Text_ajax() { $.ajax({ type: "GET", url: "ResponseText.aspx", ...
**注意**:在使用$.get()和$.post()时,如果将数据放在URL后面,可能会导致数据丢失或者编码问题,因此推荐使用data参数传递数据。同时,回调函数中的参数顺序可以调整,但建议按照JQuery文档推荐的方式使用,以避免...
9. jQuery的ajax处理方法:$.get()和$.post()分别对应GET和POST请求,$.getJSON()用于获取JSON格式数据。 10. JSON的语法规则:JSON是一种轻量级的数据交换格式,基于JavaScript语法,但更有限制,如key必须是字符...
首先,我们来看前端部分,这里我们使用jQuery的`$.getJSON`方法来发送GET请求。这个方法接受三个参数:请求的URL、一个可选的设置对象和一个回调函数。在回调函数中,我们可以处理接收到的JSON数据。以下是一个基本...
本例中利用jQuery的$.get()方法发起异步AJAX请求,获取Servlet返回的JSON格式数据。获取到数据后,通过eval()函数将字符串转换为JavaScript对象,然后通过$.each()方法遍历JSON数组中的每一个对象。 5. jQuery对象 ...
在这个例子中,前端使用jQuery库的`$.getJSON()`函数发送一个AJAX请求到PHP脚本`a.php`,并传递了三个参数`id`、`name`和`gender`。`encodeURI()`函数用于对`name`参数进行编码,以确保特殊字符(如中文)能在URL中...
在jQuery中,通常使用$.get()或$.ajax()方法来发送异步请求。以下是一个简单的$.get()用法,它向后台传递参数并调用后台方法: ```javascript $.get('<%=basePath%>/peronalSetting/peronalSettingSaveAll.do', { ...
jQuery Base64库提供两个主要方法:`$.base64.encode()`和`$.base64.decode()`,分别用于进行Base64编码和解码。 - 编码: ```javascript var encodedData = $.base64.encode("Hello, World!"); ``` - 解码: ```...
在使用JQuery进行ajax请求时,经常会发生中文乱码的情况,这个问题主要发生在请求数据的编码和服务器端对请求数据的解码不一致时。为了解决这个问题,需要确保从前端发出的请求数据以及服务器端对请求数据的处理都...
当使用jQuery的`$.ajax`方法发送请求时,如果请求数据中含有中文字符,则可能会导致接收的数据出现乱码。这主要是因为前后端之间的编码不一致所引起的。 #### 三、问题分析与解决方法 下面我们将针对不同的情况,给...