zoukankan      html  css  js  c++  java
  • (ExtJs 3.4)Ext.Ajax.request的同步请求实现

    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

  • 相关阅读:
    个人介绍
    C++ 之 第四课 C++中的运算符、表达式
    Delphi 之 第六课 过程与函数
    Delphi 之 第五课 流程语句
    VB 之 第三课 VB API 字体函数的应用
    C++ 之 第三课 C++数据类型
    Delphi 之 第四讲 自定义数据类型
    Delphi 之 第三课 详解数据类型
    C++ 之 第二课 C++类、函数的讲解
    VB API 第二课 之 字符串大小写转换
  • 原文地址:https://www.cnblogs.com/shenpiao/p/5066171.html
Copyright © 2011-2022 走看看