和大家探讨一个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乱码问题,谢谢,多多交流。