• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JQuery中Ajax的Post提交在IE下中文乱码的解决方法
    引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢?

    问题的引入:
    复制代码 代码如下:

    var regid = $('#oregion').combobox('getValue');
    //var sname = $('#sname').val();
    var sname = encodeURI($('#sname').val(),"UTF-8");
    if(regid!=""regid!='undefined'){
    $.ajax({
    async: true,
    type : "POST",
    dataType : "json",
    url : "%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"sname="+sname,
    success : function(data) {
    if(data.mes!=""data.mes!=null){
    $.messager.alert('Warning',data.mes);
    return false;
    }
    }
    });
    }
    }

    以上的代码在FF/Chrome中,可以正常传递中文,但是在IE下,则存在问题,在后台输出的信息为乱码。

    问题尝试办法:

    1. 设置了 contentType: "text/plain; charset=utf-8", 问题依然存在

    2. 重新检查了ajax代码所在的jsp页面,皆为使用utf-8,但是问题依然存在

    3. 在后台的java代码中,强制使用utf-8、gbk、gb2312的编码转换, 问题依然存在

    经过分析,判断其可能与浏览器或者JQuery中的内容传输有关,目前也无法准确的确定。

    解决的办法:

    前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI进行编码

    后端Java代码:

    URLDecoder.decode(inputStr,"UTF-8"): 后端代码针对前段传递过来的字符串,进行解码。

    总结:

    最后就可以针对Ajax Post请求传递过来的字符串信息,就可以正常显示中文了。
    您可能感兴趣的文章:
    • JQuery AJAX提交中文乱码的解决方案
    • ajax请求乱码的解决方法(中文乱码)
    • IE下Ajax提交乱码的快速解决方法
    上一篇:ajax跨域请求js拒绝访问的解决方法
    下一篇:AJAX实现鼠标经过弹出详细介绍示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JQuery中Ajax的Post提交在IE下中文乱码的解决方法 JQuery,中,Ajax,的,Post,提交,