Ajax request response 亂碼解決方法
2024-09-01 08:29:29
供稿:網友
此功能已進入試用一周了,都沒有問題,奇怪的是今天出現了問題??
代碼如下:
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));
//設備信息
List<DynaBean> equipArray = equipStatusMgrObj.queryEquip(null);
//設備狀態
Map<String, Map<String, 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);