ExtJs ajax.request 的变化

来源:互联网 发布:淘宝好评可以改差评吗 编辑:程序博客网 时间:2024/04/29 17:09
//这段请求 有点老了, 有很多缺点
Ext.lib.Ajax.request('POST',       //这里估计要改改contextPath+'/xg/xszz/zxdkbAction.do?method=addSqs&sqs='+sqs,{success:function(response){var rs = Ext.decode(response.responseText);if(rs.success){location.href=contextPath+rs.message;}else{location.href=contextPath+rs.message;}},failure:function(){Ext.Msg.alert("提示","服务器连接失败!");}});
 
 
Ext.Ajax.request({        method: 'POST',        url: contextPath+'/xg/xszz/zxdkbAction.do?method=addSqs',        params:{         sqs:sqs        },success: function(response){         var rs = Ext.decode(response.responseText);         location.href=contextPath+rs;        }, failure: function(response){         var rs = Ext.decode(response.responseText);         location.href=contextPath+rs;        } }); location.href=contextPath+"/xg/xszz/zxdk/zxdk_pksdjb.html";
 
 
 
 
 
 //看看下面这个老标准吧
Ext.lib.Ajax.request('POST','07-01txt',{success: function(response){Ext.Msg.alert('成功', response.responseText);},failure: function(){Ext.Msg.alert('失败', response.responseText);}},'data=' + encodeURIComponent(Ext.encode({name:'value'})));
 

我们可以看到,使用Ext.lib.Ajax时需要传递4个参数,分别为method、url、callback和params。它们的含义与Ext.Ajax中的参数都是一一对应的,唯一没有提到过的method参数表示请求HTTP的方法,它也可以在Ext.Ajax中使用method:'POST'的方式设置。

相对于Ext.Ajax来说,Ext.lib.Ajax有如下几个缺点。

参数的顺序被定死了,第一个参数是method,第二个参数是url,第三个参数是回调函数callback,第四个参数是params。这样既不容易记忆,也无法省略其中某个不需要的参数。Ext.Ajax中用JSON对象来定义参数,使用起来更灵活。

在params部分,Ext.lib.Ajax必须使用字符串形式,显得有些笨重。Ext.Ajax则可以在JSON对象和字符串之间随意选择,非常灵活。

比与Ext.Ajax相比,Ext.lib.Ajax的唯一优势就是它可以在EXT 1.x中使用。如果你使用的是EXT 2.0或更高的版本,那么就放心大胆地使用Ext.Ajax吧,它会带给你更多的惊喜。


原创粉丝点击