首页 > Web开发 > 详细

(ExtJs 3.4)Ext.Ajax.request的同步请求实现

时间:2015-12-22 12:59:01      阅读:147      评论:0      收藏:0      [点我收藏+]

ext3.0之前都是这样来提交:
var responsea = Ext.lib.Ajax.getConnectionObject().conn;
responsea.open("POST", your url,false);
responsea.send(null);
alert("返回来的数据为:"+responsea.responseText);

3.0版本的实现方式 需要引入一个新的js文件,叫做ext-basex.js,

Javascript代码  收藏代码

    Ext.Ajax.request({  
                url: ‘./‘+OS_RECORDCHECKID,   
                method: "post",  
                async: false,   //async 是否异步( true 异步 , false 同步)  
                params: {      //将真正的页面  (服务)url参数传递到代理页面  
                    recid : Ext.util.Format.trim(thisText)
                },  
                success: function(response, opts) {  
                }, //请求成功的回调函数   
                failure: function() { alert("获取目录请求失败!"); }  // 请求失败的回调函数  
            });  


这个文件在FF12上使用会有问题,会导致无法请求,在IE和Chrome上没问题,需要做一些代码修改:
    修改ext-basex-debug.js文件中的一条语句:
    将下面一段代码:
    Javascript代码  收藏代码

        if(callback && callback.timeout){

改成

       if(callback && callback.timeout && options.async){    

添加了“&& options.async”

如果你不是使用的debug版,使用的是压缩的版本,那么在ext-basex.js中查找“if(u&&u.timeout){”(注意不含引号),

找到后修改为“if(u&&u.timeout&&n.async){”,当然,你可以直接替换。

结论:

将“if(u&&u.timeout){”改为“if(u&&u.timeout&&n.async){”

还有种方法:
in ext-basex.js 4.1 about line 1011
(‘timeout‘ in r) && (r.timeout = callback.timeout);
modified to :
(options.async) && (‘timeout‘ in r) && (r.timeout = callback.timeout);


转载处:

http://blog.csdn.net/e_wsq/article/details/7521373
http://xfbbsnet.iteye.com/blog/1510680

(ExtJs 3.4)Ext.Ajax.request的同步请求实现

原文:http://www.cnblogs.com/shenpiao/p/5066171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!