Ext.Ajax中scope的作用

在Ext的前台Js中使用Ajax请求,如果想让回调函数中的this作用域跟当前的类一样如何实现呢?Ajax提供了一个参数scope。

详细代码如下;

layout : {
        type : ‘accordion‘,
        titleCollapse : false,
        animate : true,
        activeOnTop : false,
    },
    initComponent : function() {// 通过initComponent来初始化组件
        // 必须要在这里新建一下,不能直接在Store中使用,否则会报错。
        // 也建议在这里初始化一下,根据不同的root节点加载树。

        Ext.Ajax.request({// ajax请求的方法
            url : ‘menu/queryMenuByCdbh.json‘,
            params : {
                "node" :‘root‘,
            },
            scope:this,//使回调函数中的this变成当前的类
            success : function(res) {
                var data = Ext.decode(res.responseText);
                if(data.flag==‘success‘){
                    this.initSysSystem(data.result);
                }else if(data.flag==‘ApplicationException‘){
                    Ext.Msg.alert(‘系统提示‘,data.errorMsg);
                }else{
                    Ext.Msg.alert(‘系统错误提示‘,data.errorMsg);
                }
            },
            failure : function(res) {
                var respText = Ext.decode(res.responseText);
                Ext.Msg.alert(‘错误‘, respText.error);
            }
        });
        this.callParent(arguments);
    },
    initSysSystem:function(result){

 

这样就可以在success方法中,调用父类中的方法。

时间: 2024-11-09 02:16:10

Ext.Ajax中scope的作用的相关文章

maven依赖关系中Scope的作用

Dependency Scope 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布.     * provided,类似compile,期望JDK.容器或使用者会提供这个依赖.如servlet.jar.     * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段.     * test,只在测试时使用,用于编译和运

$.ajax中async的作用

//当移动电话或者家庭电话不为空时才校验 var valResult; if (mode == "1" && IsJdjfEnableControl == "1") { MobileTel = appForm.MobileTel.getValue(); HomeTel = appForm.HomeTel.getValue(); if (MobileTel != "" || HomeTel != "") { $.

spring Bean 配置中scope 和 lazy-init

Spring Bean配置默认为单实例 Bean默认的是单例的. 如果不想单例需要如下配置:<bean id="user" class="..." singleton="false"/> singleton就是配置这个bean是否是单例的,如果不写,就是默认值true. spring Bean 配置中 scope的作用 1.Bean的作用域可以通过Bean标签的scope属性进行设置,Bean的作用域包括:默认情况下scope=&qu

ExtJS中Ext.Ajax.request与form1.getForm().submit的基本区别

相同点:都属于Ajax提交方式! 不同点:Ext.Ajax.request是Ext.data.connection的一个实例 form1.getForm().submit是BasicForm的一个实现方式 使用上的区别: 1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面 2.Ext.Ajax.request常用在根据参数提交的时候,比如删除,我们把页面选中的ID进行遍历,封装在一个Array中,作为一个参数做Ajax的提交 例子:

Ext中超时设定 ext.ajax.timeout

公司有个小产品,用到ext的ajax功能,后来数据量大了以后,老是报查询超时,经过分析,是默认的超时设置引起的,后来在jsp页面上加上一句 Ext.Ajax.timeout=900000; (超时为十五分钟,单位为毫秒,默认是30秒) 搞定.参考文章 用Ext来研发就必然涉及到前台和后台的数据通讯问题了,也就是通常所谓从后台拿数据了 :这搭面就有一个时间的问题了,那就是前台没可能在那里一直等下去:平时都没寄望这样的问题,不过最近的项目就只患上思量,数据量太大,单查询数据总记录数目都要一分多钟(表

token的作用以及ajax中传递token的几种方法

目录 1.ajax中传递token的作用 2.ajax中传递token的几种方法 内容 1.ajax中传递token的作用 作用一:防止表单重复提交 主要原理是:用户提交表单后,会携带token到服务器,服务器将session中的token和用户请求带过来的token进行比较,如果相同,会将session中的token进行更新.若用户重复提交,则用户之后发过来的请求的token和服务器session中的token是不一致的,所以会导致之后的表单提交操作失败. 作用二:防止anti csrf 攻击

ExtJs 4中 Ext.Ajax.request提交实现waitMsg等待提示效果

//submitForm为form表单 var myMask = new Ext.LoadMask(Ext.getBody(),{msg:"请稍等,正在导入..."}); myMask.show(); Ext.Ajax.request({ url:"uploadAction", method:"POST", params:{ id:id }, success:function(){ if (myMask != undefined){ myMask

ExtJS学习--------Ext.Element中的常用事件和其他重要的方法学习(实例)

常用事件: 其他重要方法: 具体实例:(实例结果可以将对应的代码取消注释进行测试) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ title:'我的面板' , width:'100%' , height:400 , renderTo:Ext.getBody(), html:'<div id=d1><span id=sp>我是sp的内容</span><div id=d2>我是d2的内容</d

Ext.Ajax的用法

Ext.Ajax.request({                                  //ajax请求 url: 'Account/SysArea/InsertRoot',              //请求URL params: record.data.attributes,                 //參数列表 success: function (response) {                  //操作成功回调函数 var _o = Ext.decode