我创建了扩展Ext.Ajax.request的类,但我可以运行它。我总是收到错误消息:
TypeError:me.fireEvent不是函数
if (me.fireEvent('beforerequest', me, options) !== false) {
Ext.define('MY.classes.GetItem', {
extend: 'Ext.Ajax.request',
url: 'getItems.php',
method : 'GET',
timeout: 30000,
success: function (response, opts){
alert('email sent succ!');
},
failure: function (response, opts){
alert('email request fail! ' + response.status);
//var jsonResp = Ext.util.JSON.decode(response.responseText)
//Ext.Msg.alert("Error",jsonResp.error);
},
// headers: {'Content-Type': 'application/json'},
// jsonData: {"emailId" : "admin@psiloc.com" },
params: {
To: "arek@ooo.com",
Subject: 'temat',
Text: 'wiasomosc'
}
});
我称之为:
var p = {id: itemId};
var req = Ext.create('MY.classes.GetItem');
req.request( {params : p} );
是否可以通过扩展类调用请求?
我无法使其发挥作用。
答案 0 :(得分:2)
那是因为你正在扩展一个函数,而不是一个类。 该类是Ext.Ajax
你不能扩展这个
Ext.define('...', {
extend: 'Ext.window.Window.show',
});
你可以这样做(注意:我没有测试过,所以可能有bug):
Ext.define('MY.classes.GetItem', {
url: 'getItems.php',
method: 'GET',
timeout: 30000,
constructor: function() {
var me = this;
Ext.apply(me, config);
me.callParent();
},
success: function(response, opts) {
alert('email sent succ!');
},
failure: function(response, opts) {
alert('email request fail! ' + response.status);
},
params: {
To: "arek@ooo.com",
Subject: 'temat',
Text: 'wiasomosc'
},
request: function() {
var me = this;
Ext.Ajax.request({
success: me.success,
failure: me.failure,
url: me.url,
method: me.method,
params: me.params
});
}
});
按照以下方式打电话给你的班级:
var myClass = Ext.create('MY.classes.GetItem', {
params: {
p: 'my parameter'
}
});
myClass.request();