使用jqGrid查询IE传到后台的字符串乱码

使用jqGrid框架查询时,遇到一个问题,用数字字母可以查询,而汉字在IE下不能查询。传给后台的值乱码了。

$('#roleList').jqGrid('setGridParam', {

            url : 'role/queryRoles?roleName=' + roleName+'&t='+new Date(),

            page : 1

        }).trigger('reloadGrid');


波斯汪
浏览 777回答 1
1回答

拉风的咖菲猫

url编码格式是采用ASCII码,不是Unicode编码,在URL目录下不能包含中文,IE下好像是默认是使用UTF-8发送请求。中文发送还是中文,在解码是乱码。在发送前用encodeURIComponent进行转码roleName = encodeURIComponent(roleName);        postData.roleName = roleName;        $('#roleList').jqGrid('setGridParam', {            url : 'role/queryRoles?roleName=' + roleName+'&t='+new Date(),            page : 1        }).trigger('reloadGrid');        这是jqGrid里面的一个问题,url适合放地址,带有中文字符的话就要转码。可以如下。不需要转码      $('#roleList').jqGrid('setGridParam', {        url : 'role/queryRoles',         postData: {            roleName: $('#roleName').val(),            roleType:2,        }        page : 1    }).trigger('reloadGrid');        
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript