当前位置: 代码迷 >> Java Web开发 >> 小弟我现在的项目ajax表单提交的一个有关问题(附原码50行)
  详细解决方案

小弟我现在的项目ajax表单提交的一个有关问题(附原码50行)

热度:115   发布时间:2016-04-17 12:19:04.0
我现在的项目ajax表单提交的一个问题(附原码50行)
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");
  相关解决方案