jhlishero 发表于 2013-1-29 11:24:17

解决AJAX乱问题

<SCRIPT language="JavaScript"><!--function dealDot(text) {var result = "";for(i=0; i<text.length; i++) {if(text.charAt(i) != ',') {result += text.charAt(i); }}return result;}var varModkb = 1;var varLinno = 0;var buttonObj;function ajaxUpdate(buttonObject, zaiseq, linno, modkb) {buttonObj = buttonObject;varModkb = modkb;varLinno = linno;    createXMLHttpRequest();    var gentk = dealDot(document.getElementById("tk" + buttonObject.id).value);    var zaisu = dealDot(document.getElementById("sum" + buttonObject.id).value);    var genkn = dealDot(document.getElementById("kn" + buttonObject.id).value);    var oldLockidId = document.getElementById("lockid" + buttonObject.id).value;    var url = "zaikoMainteAction.do";    xmlHttp.open("POST", url, true);    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');    xmlHttp.onreadystatechange = responseText1;            var queryString = "method=ajaxUpdate&zaiseq=" + zaiseq + "&gentk=" + gentk + "&zaisu=" + new String(zaisu) + "&genkn=" + genkn +"&linno="+linno + "&lockid=" + oldLockidId;   queryString = encodeURI(queryString);   queryString = encodeURI(queryString);    xmlHttp.send(queryString);}function responseText1() {if (xmlHttp.readyState == 4) {if (xmlHttp.status == 200) {var text = xmlHttp.responseText;var location = text.indexOf('$');var dataInfo = text.substring(0,location);var errInfo = text.substr(location + 1);                  var lockid = dataInfo.substring(1,dataInfo.indexOf(")"));       var genkn = dataInfo.substr(dataInfo.indexOf(")") + 1);       document.getElementById("lockid" + buttonObj.id).value = lockid;         if( errInfo == "success") {         if(varModkb == 0) {       var modkbObject = document.getElementById("modkbId"+ varLinno);       modkbObject.innerHTML = "●";      }                document.getElementById("kn" + buttonObj.id).value = genkn;         document.getElementById("zaiSumGentk" + buttonObj.id).innerHTML = genkn;       parent.Copyright.writeErr('');            } else {         if((trim(genkn).length) != 0) {         document.getElementById("kn" + buttonObj.id).value = genkn;         document.getElementById("zaiSumGentk" + buttonObj.id).innerHTML = genkn;         }         parent.Copyright.writeErr(errInfo); }}}}--></SCRIPT>注意:encodeURI要使用两次, 本例子使用的是POST提交
在服务器端使用如下方式进行处理。
zaisu = URLDecoder.decode((LengthFormat.formatFullRLSpaceCut(zaisu)), "UTF-8");zaiseq = URLDecoder.decode(request.getParameter("zaiseq"), "UTF-8"); 
页: [1]
查看完整版本: 解决AJAX乱问题