论坛首页 Web前端技术论坛

Ext 实现异步请求

浏览 2619 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-15  
这周工作中有要用异步请求的地方,也没想什么就要开始写以前用过的方法。身边的小师父(一个教了我不少东西的朋友)看了一眼就说了!你这方法有点土!不happy啊( 他的话)!就教了我另一种方式,写了写感觉不错。挺方便,代码也比较少!
      
        
// 异步请求调用的方法
        var getMessage: function(){
        
          // 实例化Ext发送Ajax请求需要的Connection对象
          var conn = new Ext.data.Connection();
          // 发送异步请求
          conn.request({
          // 请求地址
            url: 'p/message/short/view_message.do',
            method: 'GET',
            // 指定回调函数
            callback: callback
          });
        }
        //回调函数
        callback: function(options, success, response){
          if(success){
            // 如果成功则使用Ext将JSON字符串转换为JavaScript对象
            var jsonObj = Ext.util.JSON.decode(response.responseText);
            // 到这就可以取你想要的东东了

           // 取消息id
             var msgId = jsonObj.id;

            // 取消息标题

             var msgTitle = jsonObj.title;
          }
        }

Action里的东东!!!!!

public class ViewMessageAction extends BaseAction {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {

   //   拼一个json串
String json = "{id:'消息id',title:'消息标题'}“;

// 设置字符集,有时返回的json串会有中文问题
   response.setCharacterEncoding("UTF-8");
   PrintWriter out = response.getWriter();
   out.println(json);
   return null;
}
}

json 挺方便吧! 比传纯字符串要好用!比xml要轻量级些!

但有时我也感觉拼json串有点烦!有二个方法:

1.把list 或 其他对像转到一个jsp页面里在页面里写json串这样感觉更好点。

2. 用XStream,他可以把一个对像或list转成我们想要的json串。

    至于XStream的用法,就不在这多罗嗦了!http://xstream.codehaus.org/ 自己看看挺easy的!!
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics