Ext.application:Uncaught TypeError:undefined不是函数

时间:2014-11-17 11:04:20

标签: javascript extjs

我的extjs 5应用程序存在一些问题。我正在使用Sencha Architect并在FreeBSD上运行应用程序。

我得到的错误是Uncaught TypeError:undefined不是' Ext.application'

的函数

这是我的代码

// @require @packageOverrides
Ext.Loader.setConfig({

});


Ext.application({
models: [
    'BassSearch',
    'BassSearchResult',
    'Menu',
    'Customer',
    'Subscription',
    'NetInfo',
    'Products',
    'AddressSearch',
    'AddressAll',
    'Interface',
    'Phone'
],
stores: [
    'SearchStore',
    'CustomerStore',
    'NetinfoStore',
    'InterfaceStore',
    'PhoneStore',
    'BassMenuStore',
    'JsonSubscriptions'
],
views: [
    'fSearch',
    'searchResult',
    'SearchPanel',
    'ApplicationPanel',
    'MenuPanel',
    'MainBass',
    'CustomerInfoView'
],
controllers: [
    'searchController',
    'MenuSubController',
    'CustomerInfoController'
],
name: 'MyApp',

launch: function() {
    Ext.create('MyApp.view.MainBass');
    //load
    var myCookieVal = document.cookie.indexOf('basssessionid');
    if (myCookieVal) {
        window.location.href="index.html";
    } else {
        var xhReq = new XMLHttpRequest();
        var request = 'api/checkSession';
        xhReq.open("GET", request, false);
        xhReq.send(null);
        var json = JSON.parse(xhReq.responseText);
        if (!json.success) {
            window.location.href="index.html";
        }
    }
    Ext.define('BASSSharedData', {cid: 0});

    MyApp.globals = {
        currentcid: 0,
        userid: 0,
        callback: "",
        subscriptionid: 0,
        currentView: null
    };


}

});

任何有用的帮助。

由于

1 个答案:

答案 0 :(得分:0)

错误通常意味着您正在调用尚未初始化的对象的函数(最接近的相似性是JAVA中的NullPointerException)。如果是xhReq.send(null);是异步的或失败,当你在下一个语句中调用它时,xhreq.responseText应为null / undefined。

阅读本教程,了解如何使用“XMLHTTPRequest”。如果xhReq.responseText不是原因,请尝试使用Chrome或Firefox的Firebug调试代码,或者在不同的地方放置'alert()'以查看原因的来源。