ExtJS学习心得(二)

其实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 写法

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

PHP 写法

$result = "{success:true,user:'winson'}";
print $result;
exit();

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

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

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

该系列文章引用自:
winson的博客天空
http://www.cnblogs.com/winsonet/