jQuery发请求传输中文参数乱码怎么办jquery发送一个请求来传输中文参数乱码怎么办,jQuery发送的中文参数乱码的解决方案是:首先以GET方式直接发送参数;然后用代码【字符串中心=新字符串(param。getbytes (‘iso8859-1 ‘,’ utf-8′)]。
教程操作环境:windows7系统,jQuery 3 . 2 . 1版本,这种方法适用于所有品牌的电脑。
jQuery发请求传输中文参数乱码的解决办法:
最近的需求涉及级联查询。需要根据上层下拉框的内容查询下层下拉框的列表。因为只有两级级联,后期表格中的数据几乎不会改变,所以我设计的表格是直接用中文存储的。
菜单如下:
代码如下:
var URL=’ $ { base path }/Institutionconfig/GetDepartmentByCenter . do?param=’ center
$。get(url,函数(数据){
var list=data.data
for(var I=0;i list.lengthi ) {
department selector=’ option value=’ list[I]’ ‘ ‘;
if(部门列表[i]==部门){
department selector=’ selected=’ selected“”;
}
department selector=’ list[I]’/option ‘;
}
$(‘#accountDepartmentAdd ‘)。html(Department Selector);
});我用了美元。GET(url,回调)将请求发送到后台。因为参数是在get模式下直接发送的,所以浏览器用URL对参数进行编码,后台得到的参数有:
如您所见,param收到了乱码。所以我做了进一步的处理,也就是转码:
String center=new String(param . GetBytes(‘ iso 8859-1 ‘),’ utf-8 ‘);所以你收到的是中文。
但是,的做法报告了测试环境中的一个错误。分析原因后发现测试环境收到的中文是正确的,但是转码后就错了。因此,解决方案应该是请求更改页面。由于使用GET对参数进行了编码,所以改为POST请求,POST请求会提交原始数据:
var URL=’ $ { base path }/InstitutionConfig/GetDepartmentByCenter . do ‘;
$。ajax({
url: url,
data: {‘param’: center},
dataType: ‘json ‘,
类型: ‘开机自检’,
success:函数(数据){
var list=data.data
for(var I=0;i list.lengthi ) {
department selector=’ option value=’ list[I]’ ‘ ‘;
if(部门列表[i]==部门){
department selector=’ selected=’ selected“”;
}
department selector=’ list[I]’/option ‘;
}
$(‘#accountDepartmentAdd ‘)。html(Department Selector);
}
});相关免费学习推荐:javascript(视频)
以上是jQuery请求传送中文参数乱码怎么办的详细内容,请多关注Lei.com其他关于php知识的相关文章!