主页 > 知识库 > Ajax request response 乱码解决方法

Ajax request response 乱码解决方法

热门标签:海南银行智能外呼系统商家 辽宁银行智能外呼系统 电销机器人违法了吗 澳大利亚城市地图标注 上海浦东腾讯地图标注位置 许昌智能电销机器人公司 辽宁正规电销机器人 姜堰电销机器人 辰溪地图标注
此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题??
复制代码 代码如下:

AjaxRequestObj.createEqStatusParameter=function() {
    if (eqStatusArray.length 1) {
        return;
    }
    var paramNameArray = new Array();
    var paramValueArray = new Array();
    //取状态数组
    for (var index = 0, step = eqStatusArray.length; index step; index++) {
        var tempEqStatusObj = eqStatusArray[index];
        paramNameArray.push(tempEqStatusObj.eqCode + "`" + tempEqStatusObj.opDateTime);
        paramValueArray.push(tempEqStatusObj.status);
    }
    //分解、生成请求串。
    var paramStr = "";
    paramStr = paramStr.concat("eqStatusNames=").concat(encodeURIComponent(paramNameArray.join(","))).concat("");
    paramStr = paramStr.concat("eqStatusValues=").concat(encodeURIComponent(paramValueArray.join("`")));
    return paramStr;
};

xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlHttpObj.send(param);
客户端将参数以UTF-8方式传递给应用端,在使用此参数时直接从request中取就可以。
[Ajax接收响应信息]
直接使用forward跳转实现div局部内容变更
复制代码 代码如下:

if ("doQueryRequest".equals(actParam)) {
    EquipUtils equipUtilsObj = EquipUtils.getInstance();
    //取查询参数、拼接
    equipStatusMgrObj.setEquipCondition(equipUtilsObj.createEquipFilter(request));
    equipStatusMgrObj.setEquipStatusCondition(equipUtilsObj.getEquipStatusDate(request));
    //设备信息
    ListDynaBean> equipArray = equipStatusMgrObj.queryEquip(null);
    //设备状态
    MapString, MapString, String>> equipStatusMapping =
        equipStatusMgrObj.queryEquipState4Map(equipArray, null);
    sessionObj.setAttribute("paginationEntity", equipStatusMgrObj.getPaginationEntity());
    sessionObj.setAttribute("equipCondition", equipStatusMgrObj.getEquipCondition());
    sessionObj.setAttribute("eqStatusCondition", equipStatusMgrObj.getEquipStatusCondition());
    request.setAttribute("equipList", equipArray);
    request.setAttribute("dateList", equipStatusMapping);
    try {
        request.getRequestDispatcher("/eq/detectPoint/InnerEqStatusRefresh.jsp").forward(request, response);
    } catch (Exception e) {
        e.printStackTrace();
    }
} else if ("getPageToolBar".equals(actParam)) {
    PaginationEntity pEntity = (PaginationEntity) sessionObj.getAttribute("paginationEntity");
    String tempStr = pEntity.getPaginationTool();
    OutputStream out;
    try {
        response.setContentType("text/html;charset=UTF-8");
        out = response.getOutputStream();
        out.write(tempStr.getBytes("UTF-8"));
        out.flush();
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

因为,目前使用xmlHttpObj.responseText,responseText默认就是UTF-8所以将跳转的页面弄成UTF-8是不错的选择。至少不用担心乱码。。
[乱码原因]
之前此功能使用的是GB18030编码,到修改为止在其它客户机以及同事的机器上都非常正常,但就是我自己的机器翻页出现乱码。当我将此功能所用到的呈现文件统一使用UTF-8就ok了,也不知那xmlHttpObj触动了机器的那个神经。。查了些资料也都是说搞国际化的趋势,问题是解决了但原因没有找到!
[发现一Bug]
response.setContentType("text/html;charset=UTF8");在我机器上不抛错,但在同事的机器上就会抛错
改成response.setContentType("text/html;charset=UTF-8");一切OK..
您可能感兴趣的文章:
  • Ajax中responseText返回的是一个页面而不是一个值
  • ajax的responseText乱码的问题的解决方法
  • jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
  • Ajax Throws Sys.WebForms.PageRequestManagerErrorException with Response.Redirect的解决方法
  • ajax的 responseXML返回接受 asp
  • 关于Ajax中通过response在后台传递数据问题

标签:晋城 深圳 威海 铜川 抚州 西藏 伊春 崇左

巨人网络通讯声明:本文标题《Ajax request response 乱码解决方法》,本文关键词  Ajax,request,response,乱码,解决,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Ajax request response 乱码解决方法》相关的同类信息!
  • 本页收集关于Ajax request response 乱码解决方法的相关信息资讯供网民参考!
  • 推荐文章