//这段请求 有点老了, 有很多缺点
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吧,它会带给你更多的惊喜。