- JScript code
var ajax = new Ajax.Request( //提交 url, { method: 'post', parameters: pars, onComplete: btnSearch_onclickComplete }); return false; } function btnSearch_onclickComplete(o) { //提交完毕执行这个函数 var rows = eval("(" + o.responseText + ")"); //取值 deleteRows(); if(rows == null) { alert("検索データがありません。"); radYobiKbn_onclick(null); } else { _tableRows = rows; _currentCase = CASE3; for(var i = 0; i < rows.length; i++){ //响应结果可能是n条数据。 rowAdd(rows[i]); //rowAdd()是加数据的函数,问题来了 } tabIndex(); } return false; }
我是用这种方法给页面附值的,
Element.update(td13,row["BUPPIN"]); //这里的row["BUPPIN"]就是上面rowAdd(rows[i])里的rows[i] 。
现在我的问题:
1。Element.update()这个是什么东西呢?
2。用这种方法有乱码的地方,比如44-44,叶面显示44?44,我想用下面的函数解决,怎么写呢? 谢谢!
- JScript code
<%! String trans(String chi){ String result = ""; byte temp []; try { temp=chi.getBytes("iso-8859-1"); result = new String(temp); } catch(UnsupportedEncodingException e) { System.out.println (e.toString()); } return result;}%>
------解决方案--------------------
这个东东偶遇到过,也是用ajax调用后台的东东,前台页面用的是utf-8编码,调ajax返回的是iso-8859这种系统默认编码的xml,而不是utf-8编码的,最后解决的方法就是让后台返回xml的时候,返回用utf-8编码的xml就可以了,因为当前页面会用utf-8,而你返回的是别的编码的数码,自然解析时就会有问题了
你自己可以用fiddler之类的监听你的页面html代码及http协议用的encoding及ajax的http协议及内容的编码
------解决方案--------------------
Element.update(element,newContent)
用newContent的内容替换element里面的内容,好像是这样吧.
乱码那个问题,不是很明白.
------解决方案--------------------
在你的servlet里面用上response.setCharacterEncoding("utf-8");
试试
------解决方案--------------------
在JavaScript端利用encodeURIComponent将字符编码为UTF-8,就是%2A之类的,在Java端用URLDecoder.decode("字符串", "UTF-8");
------解决方案--------------------
首先把页面代码改成utf-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
然后把后面修改成这样试试。
temp=chi.getBytes("iso-8859-1");
result = new String(temp, "utf-8");