首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

【】请教,有什么比较好的方法来作ajax的response?多谢

2012-03-18 
【高分】【在线等】请问,有什么比较好的方法来作ajax的response?谢谢~请问,有什么比较好的方法来作ajax的respo

【高分】【在线等】请问,有什么比较好的方法来作ajax的response?谢谢~
请问,有什么比较好的方法来作ajax的response?谢谢~

在ajax的大多数教程中,一般都是用如下方式来写response,这样代码中就出现了好多out.println,感觉蛮麻烦的~

Java code
response.setContentType("text/xml; charset=utf-8");response.setHeader("Cache-Control", "no-cache");PrintWriter out = response.getWriter();out.println("<RESPONSE>");out.println("<page>" + page + "</page>");out.println("</RESPONSE>");out.close();]


所以我自己乱写了个
Java code
public static void response(HttpServletResponse response, String[][] xmlArgs)            throws Exception {    response.setContentType("text/xml; charset=utf-8");    response.setHeader("Cache-Control", "no-cache");    PrintWriter out = response.getWriter();    out.println("<RESPONSE>");    for (int i = 0; i < xmlArgs.length; i++) {        if ("~@begin@~".equals(xmlArgs[i][1])) {            out.println("<" + xmlArgs[i][0] + ">");        } else if ("~@end@~".equals(xmlArgs[i][1])) {            out.println("</" + xmlArgs[i][0] + ">");        } else {            out.println("<" + xmlArgs[i][0] + ">" + xmlArgs[i][1] + "</"                    + xmlArgs[i][0] + ">");        }    }    out.println("</RESPONSE>");    out.close();}



然后这样使用
Java code
String[][] newsXml = new String[5 * rowCot + 4][2];newsXml[0][0] = "page";newsXml[0][1] = Integer.toString(page);newsXml[1][0] = "pageSize";newsXml[1][1] = Integer.toString(pageSize);newsXml[2][0] = "pageCot";ewsXml[2][1] = Integer.toString(pageCot);newsXml[3][0] = "rowCot";newsXml[3][1] = Integer.toString(rowCot);int xmlIdx = 3;// 这里循环列出while(true) {    newsXml[++xmlIdx][0] = "news";    newsXml[xmlIdx][1] = "~@begin@~";    newsXml[++xmlIdx][0] = "id";    newsXml[xmlIdx][1] = Integer.toString(news.getId());    newsXml[++xmlIdx][0] = "top";    newsXml[xmlIdx][1] = Integer.toString(news.getTop());    newsXml[++xmlIdx][0] = "title";    newsXml[xmlIdx][1] = title;    newsXml[++xmlIdx][0] = "news";    newsXml[xmlIdx][1] = "~@end@~";}XmlUtil.response(response, newsXml);


我知道这也是很蠢很麻烦的办法,限制也很多,用起来很不方便,请问大家都是如何response的呢~?或者有什么比较轻量的框架或现成的jar可以用呢?能给出详细的方法么,谢谢~
PS.我的ajax就是按照教程那样手写的,没有用的DWR等框架的,我只想知道用什么方法来RESPONSE比较好比较优雅,谢谢~

[解决办法]
JScript code
PrintWriter out = response.getWriter();out.println("<RESPONSE>");out.println("<page>" + page + "</page>");out.println("</RESPONSE>");out.close();]
[解决办法]
直接传出news的recordset
然后利用field.name来做标签 值就是field.value并且可以由rs来获取page,pagecount等信息。
[解决办法]
要不你就直接从servlet返回json

然后前台用js动态加入 也可以
[解决办法]
探讨
要不你就直接从servlet返回json

然后前台用js动态加入 也可以

[解决办法]
推荐使用JSON来向前返回数据,再在前台用JAVASCRIPT处理返回的数据。
如var data = eval("("+responseText+")"),这样转化出来的就是一个对象。


再对这个JAVASCRIPT对象进行相关的处理即可
[解决办法]

探讨
推荐使用JSON来向前返回数据,再在前台用JAVASCRIPT处理返回的数据。
如var data = eval("("+responseText+")"),这样转化出来的就是一个对象。
再对这个JAVASCRIPT对象进行相关的处理即可

[解决办法]
用json吧
原生态js
[解决办法]
$(this).html("XXXXXXXXXXXXXXXX");

热点排行