如何调试ajax代理

时间:2015-11-06 17:17:12

标签: javascript ajax extjs extjs6

我正在尝试使用ExtJs6和Lumen作为后端PHP框架创建简单的crud应用程序。我按照标准文档创建了extJS应用程序。我的extJS使用内置的sencha服务器(sencha app watch)在http://localhost:1841/上运行。

当我改变时

proxy: {
    type: 'memory',
    reader: {
        type: 'json',
        rootProperty: 'items'
    }
}

proxy: {
    type: 'ajax',
    url: 'data',
    reader: {
        type: 'json',
        rootProperty: 'items'
    },
    autoload: true,
    listeners: {
        exception: function (proxy, response, operation) {
            Ext.MessageBox.show({
                title: 'REMOTE EXCEPTION',
                msg: operation.getError(),
                icon: Ext.MessageBox.ERROR,
                buttons: Ext.Msg.OK
            });
        }
}

并将这些侦听器添加到我的代理和存储对象

   beforeLoad: function(store, operation){ // 1st; no data items
        console.log('beforeLoad');
        console.log(store.data.items);
    },
    dataChanged: function(store){ // 2nd; data items populated, controls still empty

        console.log('dataChanged');
        console.log(store.data.items);
    },
    load: function(store, records, success){ // 3rd; data items populate, controls show data
        console.log('load');
        console.log(store.data.items);
    }

我希望在浏览器控制台中看到一些MessageBox错误或一些消息,但也没有。顺便说一下,http://localhost:1841/data网址上没有任何内容。那么,有两个主要问题:

  • 为什么我的console.log(..代码和MessageBox无效?

  • 有没有办法告诉sencha内置服务器返回一些示例json 特定网址的数据?

PS:我做sencha app build来编译js,然后在PHP应用程序中使用它,该应用程序在另一个localhost的端口上运行,并且显而易见地返回data URL上的一些数据。但它仍然没有在我的应用程序中显示它。使用内存代理,它可以正常工作。

完整商店类:https://github.com/jehaby/Cognitive/blob/master/Cognitive/app/store/Personnel.js 完整存储库:https://github.com/jehaby/Cognitive/ 在此创建的ExtJS应用:https://github.com/jehaby/Cognitive/Cognitive

0 个答案:

没有答案