读书人

ExtJs在LOAD的时候就出错? 急该如何处

发布时间: 2012-03-31 13:13:26 作者: rapoo

ExtJs在LOAD的时候就出错? 急.....!!!
我做一个GridPanel在运行的时候.IE就提示我出错 "Microsoft JScript 运行时错误: 对象不支持此属性或方法"

以下这段是出错的地方..是 extjs-all-debug.js

JScript code
function addLoadEvent(fn) {        if (typeof win.addEventListener != UNDEF) {            win.addEventListener("load", fn, false);        }        else if (typeof doc.addEventListener != UNDEF) {            doc.addEventListener("load", fn, false);        }        else if (typeof win.attachEvent != UNDEF) {            addListener(win, "onload", fn);        }        else if (typeof win.onload == "function") {            var fnOld = win.onload;            win.onload = function() {                fnOld();                fn();            };        }        else {            win.onload = fn;        }    }



我的代码是

JScript code
Ext.onReady(function() {    var gridDtl;    var myStore = new Ext.data.JsonStore({        autoLoad: true,        proxy: new Ext.data.HttpProxy({            url: 'PttGetData.asmx/qryCancelableById',            headers: { 'Content-type': 'application/json' }        }),        baseParams: { id: 'aa' },        root: 'd',        fields: ['TermId', 'MsgTime', 'CardId', 'SimNo', 'ShiftSN', 'CmdType', 'CmdMsg', 'IsSucc', 'T_isRec', 'T_IsCommit', 'SendTime', 'RecvTime', 'CommitTime']    });    var grid = new Ext.grid.GridPanel({        store: myStore,        columns: [                               { header: "信息收发时间", width: 300, renderer: rendeDate, dataIndex: 'MsgTime' },                               { header: "终端号", width: 150, dataIndex: 'TermId' },                               { header: "车牌号", width: 150, dataIndex: 'CardId' },                               { header: "终端sim卡号", width: 200, dataIndex: 'SimNo' },                               { header: "作业流水号", width: 200, dataIndex: 'ShiftSN', sortable: true },                               { header: "命令类型", width: 150, dataIndex: 'CmdType', sortable: true },                               { header: "命令信息内容", width: 200, dataIndex: 'CmdMsg', sortable: true },                               { header: "收发是否成功", width: 200, dataIndex: 'IsSucc', sortable: true },                               { header: "终端是否收到", width: 200, dataIndex: 'T_isRec', sortable: true },                               { header: "终端是否人工确认", width: 200, dataIndex: 'T_IsCommit', sortable: true },                               { header: "下发时间", width: 300, renderer: rendeDate, dataIndex: 'SendTime', sortable: true },                               { header: "接收时间", width: 300, renderer: rendeDate, dataIndex: 'RecvTime', sortable: true },                               { header: "人工确认时间", width: 300, renderer: rendeDate, dataIndex: 'CommitTime', sortable: true }                    ],        viewConfig: { forceFit: true },        width: 1280,        height: 250,        split: true,        buttons: [{ text: '核销', handler: OnCav}],        renderTo: 'CAV',        frame: true    });    function rendeDate(record) {        var strDate = "new " + record.substr(1, record.length - 2)        return eval("(" + strDate + ")").toLocaleString();    }});  



我要从这边传参进去web service.. 但是.在一开始load的时候就出错了. .
但是如果我用FIRE FOX的话.就可以把参数传进去. 但是却不能显示任何东西..


请问大侠....是什么回事阿???急阿. .

[解决办法]
看了半天也没有发现错误,用firebug 调试下吧。看看到底错在哪里了?
[解决办法]


探讨
用fire bug调试.. 在"Ext.onReady(function() {" 这里就已经跳过中间所有东西就完了.~ 不知道为什么..


还有这一句:
var grid = new Ext.grid.GridPanel
它说我缺少对像


究竟是什么回事阿???

[解决办法]
JsonStore 没有root这个属性吧 去掉看看
[解决办法]
探讨
看了半天也没有发现错误,用firebug 调试下吧。看看到底错在哪里了?

[解决办法]
Java code
var grid = new Ext.grid.GridPanel({        store: myStore,
[解决办法]
很多都是 json写的不对
你打印json内容看看
[解决办法]
对,你把json打印出来看看。主要看格式。
[解决办法]
myStore.on('beforeload', function(thisStore, options){
store.baseParams = {
id:'aa'
};
});

你改成这样,以前我直接在stroe里面写baseParams 也出现过缺少对象的错误
[解决办法]
楼主,像JS,Ext这种之类的代码,从最简单的写起吧,再慢慢扩展开来。

错误找不出来的时候,也这样来,先只留住主干,这样很容易知道错误在哪里。再添加枝叶。基本上可以搞定问题。
[解决办法]
ds.load();
grid.render();
这里先换一下,EXT2。0有这个问题

读书人网 >Java Web开发

热点推荐