之前使用JQ在CHROME下测试代码后台接收的参数没有乱码完美通过,但是今天在IE下测试时发现添加的数据展示是乱码
先上我们一般的写法
$.post(" usr!getUsrList.do?name="+name+"&roleId="+roleid+"&dpid="+dpid,"",function(data){
$("#body").html(data);
$("#pdpid").val(dpid);
$("#prid").val(roleid);
$("#pname").val(name);
$("#name").val(name);
$("#departmentId").val(dpid)
$("#roleId").val(roleid);
document.getElementById("usr_list_a").className="on";
});
OK这是我们一般写法除了IE没有问题
在IE下的代码
//IE 下出现乱码所以需要转成JSON格式处理
$.ajaxSetup({
contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
$.post("usr!getUsrList.do",{ name: name, roleId: roleid ,dpid:dpid},function(data){
$("#body").html(data);
$("#pdpid").val(dpid);
$("#prid").val(roleid);
$("#pname").val(name);
$("#name").val(name);
$("#departmentId").val(dpid)
$("#roleId").val(roleid);
document.getElementById("usr_list_a").className="on";
}, "text");
先用JQ的方法设置浏览器头部然后查找资料好像是IE会转成JSON格式去解析。
还有一种方法解决乱码
encodeURI($(dom).val(), "UTF-8"); 直接转编码测试过可以通过