代码改变世界

ExtJS学习心得(二)

2007-10-19 17:02  w i n s o n  阅读(6860)  评论(9编辑  收藏  举报
其实Ext.Ajax的使用并不难,只是当初我一直不清楚如何获取其返回值,搞得郁闷了一阵子,以下是一个比较简单的例子

 1Ext.Ajax.request({
 2                    url: 'Register.aspx',
 3                    params: {
 4                        oper: 'login',
 5                        LoginEmail:Ext.get('LoginEmail').dom.value,
 6                        LoginPwd:Ext.get('LoginPwd').dom.value
 7                    }
,
 8                    success: function(response, options) {
 9                      var responseArray = Ext.util.JSON.decode(response.responseText);                                             
10                            if(responseArray.success=='true'){
11                                Cookies.set('Allcard_userName', responseArray.user);
12                                Ext.Msg.alert('信息','您已成功登录!',IsLogin);    
13                            }

14                            else{
15                                Ext.Msg.alert('失败','登录失败,请确认您的帐号密码无误!');    
16                            }

17                    }

18            }
);

代码说明:
2行:URL参数是要提交到的页面
3行:params是一个需要提交的参数集,使用逗号分隔
8行:当回调成功返回后要执行的函数
9行:获取服务器端的回调参数值
10行:对回调值进行判断处理

这里需要说明一下的是如何获取回调参数值,Extjs里是通过JSON的数据格式来获取参数的,因此在服务器端处理完事情后,回调的参数应该这样写:(以下是ASP.NET里的写法)

result = "{success:true,user:'winson'}";
Response.Write(result);
Response.End();

将数据以键值对的形式返回,接收时就可使用第一段代码里第9行的方法来接收,由于使用的是JSON格式,因此服务器端就可以非常方便地同时返回多个参数值了。

Ext.Ajax基本使用就是这样,其实也挺简单的,只是如果要在提交时增加Loading效果,那就比较麻烦了,呵,这里我也没深入研究

接下来还有比较复杂的表单应用!