sencha touch Ext.Ajax.request 错误 Cannot call method 'request' of undefined 解决方案

时间:2020-12-25 21:46:48

凡是Cannot call method '' of undefined 这类错误大部分都可以参照下面的办法来解决

在st中有时候你会发现使用Ext.Ajax.request会出现一下错误:

Cannot call method 'request' of undefined

sencha touch Ext.Ajax.request 错误 Cannot call method 'request' of undefined 解决方案

出现以上错误的原因是Ext.Ajax这个组件没有被注册

解决方案:

1.一般来说你只要在控制层或者app.js注册引用了model、store,st就会自动注册主键

代码如下:

 /*
*列表控制
*/
Ext.define('app.controller.List', {
extend: 'Ext.app.Controller',
config: {
models: ['Blog', 'Quiz'],
stores: ['BlogList', 'QuizList'],
views: ['list.Home'],
refs: {
listHome: 'listHome'
},
control: {
listHome: {
itemtap: function (list, index, target, record, e) {
this.redirectTo('redirec/' + record.get('redirect'));
util.storeLoad(record.get('store'));
}
}
}
}
});

2.如果不使用model、store

可以直接注册组件

 Ext.application({
name: 'app',
appFolder: 'app',
controllers: ['Main', 'Panel', 'Layout', 'List'],
requires: ['Ext.Ajax'],
launch: function () {
util.inIt();
}
});

3.通过Ext.require方法注册

         Ext.require('Ext.Ajax', function () {
Ext.Ajax.request({
//代码省略
});