`
gwh_08
  • 浏览: 335669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ext Stor 的this.proxy is undefined 错误

    博客分类:
  • Ext
阅读更多

为了实现Stor的动态加载,

var orgId = "";
var fStore =new Ext.data.Store({
	        autoLoad : false,
	        url: 'findFromOMRole.action?orgId='+'orgId',
	        reader : new Ext.data.JsonReader({
	            totalProperty: 'totalCount',
            	root: 'list'
	        }, [{name : 'menuName'}, { name : 'id'}]),
	        sortInfo: {field: 'menuName', direction: 'ASC'}
	    });

 在Ext.form.ComboBox({})中引如了事件listeners

 var orgIdStore = new Ext.data.JsonStore({
            url: 'findComOrgRole.action',
            autoLoad: false,
            sortInfo: {field: 'orgName', direction: 'ASC'},
            fields: [{
                name: 'role.org.id',
                mapping: 'id'
            }, {
                name: 'orgName',
                mapping: 'orgName'
            }]
        });
        orgIdStore.load();
        
        var orgIdComboBox = new Ext.form.ComboBox({
            listClass: 'x-combo-list-small',
            enableKeyEvents: true,
            selectOnFocus: true,
            hiddenName: 'role.org.id',
            name: 'role.org.id',
            id:"orgIds",
            valueField: 'role.org.id',
            displayField: 'orgName',
            blankText : '请选择',
	    emptyText : '选择机构名称',
            selectOnFocus: true,
            mode: 'local',
            triggerAction: 'all',
            store: orgIdStore,
            fieldLabel: "所在组织",
            allowBlank : false,
            editable: false,
            listeners: {'select': function(){
				Ext.getCmp('roleSele').setValue('');
				var t_orgId = Ext.getCmp('orgIds').getValue();
				fStore.load();
				}
        	}
        });

 即,当所选择项改变时,fStor的url所接受的参数的值,改变,从而实现动态加载数据的目的。

但是这样做有通过fireBug可以看到,url所接受的参数的值,没有改变,即还是原来的值,没有实现动态加载数据,

若将URL放在listeners中

listeners: {'select': function(){
				Ext.getCmp('roleSele').setValue('');
				var t_orgId = Ext.getCmp('orgIds').getValue();

url: 'findFromOMRole.action?orgId='+'orgId'
 fStore.load();
				}
        	}

firebug会报:"this.proxy is undefined "的错误。

这其实是对ext的stor的工作原理不清楚造成的。

首先,ext的stor是通过代理模式实现的,它首先通过一个代理向后台发送请求(根据url),而后再通过代理将数据返回,并对数据进行封装,才是我们最后得到的数据。

标准的Stor形式是:

var d_stor = new Ext.data.Store({
                proxy: new Ext.data.HttpProxy({
                    url: 'queryMessages.action'
                }),
                reader: _jsonReader,
                remoteSort: true//True表示在proxy配合下,要求服务器提供一个更
                                         //  新版本的数据对象以便排序,反之就是在Record缓
                                         //存中排序(默认是false)。
            });

 stor在load之前,必须要为其指定代理,若我们不指定proxy代理属性,而直接指定url,那么url如果有值传入,会为该URL创建一个HttpProxy对象,否则就没有代理模式。会报"this.proxy is undefined "的错误。

这就是为什么上面会出现这样的错误,那么如何实现数据的动态加载呢?

我们可以通过以下两种方式解决:

fStore.baseParams.orgId = orgId;
fStore.load();

 等号左边的orgId为所传参数变量,右边的orgId为所传的值,当然此处的load()方法是放在Ext.form.ComboBox({})的listeners中的。此方案的传参与加载是分开来进行的。

第二种解决方案是:

tStore.load({
	                    params: {
							orgId: t_orgId
						}
					});

 传参与加载一体化处理。

 

分享到:
评论

相关推荐

    Unit4 Is this a teddy_ Storytime课件+音视频.zip

    目录 Song time.mp3 Teddy bear.mp4 U3Song.swf U4Stor01.mp3 U4Stor02.mp3 U4Stor03.mp3 U4Stor04.mp3 U4Stor05.mp3 U4Stor06.mp3 U4Stor07.mp3 U4Stor08.mp3 U4story.swf Unit4 第二课时修改.ppt

    Python库 | stor-4.0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:stor-4.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | stor-1.4.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:stor-1.4.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    移动端通用元件库+app通用元件库+数据展示+操作反馈+通用模板+Vant.rplib

    移动端通用元件库+app通用元件库+数据展示+操作反馈+通用模板+数据录入+列表页+表单页+详情页+通用版布局+移动端手机模板+业务组件+反馈组件+展示组件+表单组件+导航组件 Axure原型演示及下载地址:...

    Unit1 I’m Liu tao课件 3课时全(ppt).zip

    U1Stor01.mp3 U1Stor02.mp3 U1Stor03.mp3 U1Stor04.mp3 U1Story.mp3 U1story.swf U6Song_B.mp3 一上Unit1 I'm Liu Tao -Period1.ppt 一上Unit1 I'm Liu Tao -Period2.ppt 一上Unit1 I'm Liu Tao -Period3.ppt 上课铃...

    课题达成型QC-STOR.pptx

    【QC-STORY】是一种在品质管理中广泛使用的问题解决和改善方法,主要分为问题解决型和课题达成型。本文将详细阐述QC-STORY的核心概念、类型及其应用。 首先,问题被定义为期望状态或目标与当前状态之间的差距。...

    web_stor.rar_web 报告_web实验_web实验报告_实验文档 web_网上书店

    标题中的“web_stor.rar”是一个压缩文件,通常用于存储多个相关文件或文件夹,这里包含的是关于“web实验”的内容。"web 报告"指的是实验完成后编写的详细记录,它可能包括实验目的、过程、结果分析以及结论。"web...

    Stor编辑器中文.zip

    4. **使用汉化包的好处**:对于中文用户,使用母语环境可以降低学习曲线,提升工作效率,避免因语言障碍引起的误解或操作错误。此外,汉化包也能帮助初学者更快地理解软件的各种功能和术语。 5. **PHPStorm的特性**...

    红色宽屏APP官网产品展示css3模板_红色 宽屏 产品 展示 app 官网 软件 互联网 专题 互联网产品 stor.rar

    该压缩包文件“红色宽屏APP官网产品展示css3模板_红色 宽屏 产品 展示 app 官网 软件 互联网 专题 互联网产品 stor.rar”包含了一个设计用于互联网产品展示的网站模板,特别适用于APP的官方网站。这个模板采用红色为...

    附件 wget-1.20.3-win64.zip

    wget是Linux环境中广泛使用的命令行工具,用于从互联网上下载文件。... 在Windows系统中,虽然原生不包含wget,但可以通过安装第三方软件,如“wget-1.20.3-win64.zip”这样的预编译版本来使用。这个压缩包文件提供了...

    vuex中store存储store.commit和store.dispatch的用法

    // 处理错误 }); ``` 在 action 中,你可以返回 Promise,确保其 resolve 或 reject 包含你想要传递的数据: ```javascript actions: { getLunboList({ commit }) { return new Promise((resolve, reject) => ...

    FTP报错错误问题

    ### FTP报错错误问题解析与解决方案 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,主要用于在服务器和客户端之间传输文件。然而,在使用FTP过程中可能会遇到各种错误,这不仅影响了...

    STOR_Win7_8_11.7.0.1013_f6flpy-x64_f6flpy-x64_windows7_

    标题“STOR_Win7_8_11.7.0.1013_f6flpy-x64_f6flpy-x64_windows7_”揭示了这是一款与存储驱动程序相关的软件更新,适用于Windows 7、Windows 8及Windows 11操作系统。版本号11.7.0.1013表明这是一个较新的更新,可能...

    计算机网络第六版答案

    (This is a little bit of a white lie, as modern routers sometimes act as firewalls or caching components, and process Transport layer as well.) Link layer switches process link and physical layers ...

    DELL_N4030_存储控制器Intel_RapidStorageTechnology_STOR_Win7_XP_11.2.0.1006

    DELL_N4030_存储控制器Intel_RapidStorageTechnology_STOR_Win7_XP_11.2.0.1006

    DELL服务器错误代码.docx

    ### DELL服务器错误代码解析及处理方法 #### 一、故障保护电压错误(E1000) **错误描述:** 此错误表明服务器内部出现了电压异常情况,可能会影响到服务器的安全运行。 **处理方法:** 1. **查看系统事件记录:*...

    Leo Stor分布存储解决方案介绍.pptx

    【LeoStor分布式存储解决方案】是联想推出的一种创新的存储技术,主要针对大数据时代的数据管理需求。随着新业务和应用模式的快速发展,数据量呈现爆炸式增长,传统的单一存储方式已无法满足这种快速增长的需求,...

    FTP.rar_ftp_ftp .net_ftp文件传输_文件传输

    using (FileStream fileStream = File.OpenRead("localfile.ext")) using (Stream requestStream = request.GetRequestStream()) { fileStream.CopyTo(requestStream); } FtpWebResponse response = ...

    XML Processing with Perl, Python, and PHP (2002).pdf

    If you haven’t already guessed, this book is all about parsing, processing, and working with XML using a variety of scripting languages. After a brief XML refresher, I address the lan- guages in turn...

Global site tag (gtag.js) - Google Analytics