日期:2014-05-16  浏览次数:20787 次

ExtJS4.2 Combox下拉框的远程加载数据firefox正常显示,但IE下一直"loading..."
   这几天读了《深入浅出ExtJS》一书,觉得挺好,简单易懂,但发现所给的示例和实际的运行还是有点不一样,可能作者没有更多的考虑浏览器兼容性方面的问题。其中有个下拉框的例子04-04-01.html,感觉很实用,是用文本数组做了一个菜单数据文件,再在ExtJS文件中模拟远程调用,但发现该例子除在firefox 27 浏览器下运行正常外,在IE11和google浏览器下点击下拉框后均只一直显示"loading...",加载不到数据。于是在网上四处搜索信息,有网友给出办法listConfig:{loadMask: false }, 我按此建议加了该条后"loading..."没有了,但菜单数据依然没有加载,这是什么问题啊?搞的我头都大了。 

  另外该例有中有"mode: 'local'一句, 但我在Ext JS4.2 API上查不到“mode”选项,倒是发现了"queryMode",按API说法设置成“queryMode: 'remote',”发现firefox正常,IE不起作用;“queryMode: 'local',” 发现Firefox、google、IE均不起作用,

 让数据远程加载是必须需要首要解决的问题,我急需要这样应用,哪位高手能帮解决这个问题,不胜感激!若要更多分,好商量。

代码04-04-01.html如下:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <title>04.form</title>
        <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
        <script type="text/javascript" src="extjs/ext-all.js"></script>
        <script type="text/javascript" src="extjs/localXHR.js"></script>
        <script type="text/javascript">
Ext.onReady(function(){

    var store = new Ext.data.Store({
    

proxy: {
type: 'ajax',
url: '04-04-01.txt',
reader: {

type: 'array'
}
},
fields: [
            {name: 'value'},
            {name: 'text'}
]
    });

    var combo = new Ext.form.ComboBox({
        store: store,
        emptyText: '请选择',
        mode: 'local',
     // queryMode: 'remote',
     
        triggerAction: 'all',
        valueField: 'value',
        displayField: 'text',
        renderTo: 'combo',

        listConfig:
        {
            loadMask: false  //add by myself
        } 
 
 
    });
});
        </script>
    </head>
    <body>
        <br /><br /><br />
        <div id="combo"></div>
    </body>
</html>

对应数据04-04-01.txt如下:
[
    ['value1','text1'],
    ['value11','text11'],
   &n