我对Sencha touch很新,我想知道如何发送帖子数据。我现在面临两个问题。 1)我一直得到Uncaught TypeError:当我尝试获取表单数据时,undefined不是函数,2)如何将数据发布到codeigniter中的远程restful api。
我的控制器现在给了我错误
Ext.define('tileconmob.controller.Main',{
extend:'Ext.app.Controller',
views:['Home','Address','Workers','Firstpage'],
models:['People','Worker'],
config:{
refs:{
loginForm:'#loginform'
},
control:{
'button[action=loginUser]':{
tap:'LoginUser'
}
}
},
LoginUser:function(button,event){
console.log("event in controller was fired");
//console.log(this.referenceList);
var values=this.getloginForm().getValues();
console.log(values);}
});
视图
Ext.define('tileconmob.view.Home', {
extend: 'Ext.Panel',
xtype: 'profilepanel',
config: {
title: 'About us',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
items: [{docked: 'top',
xtype: 'titlebar',
title: 'Login'},
{
xtype: 'fieldset',
title: 'About You',
id:'loginform',
items: [{
xtype: 'textfield',
name: 'name',
label: 'Full Name'
},
{
xtype: 'textfield',
name: 'password',
label: 'Password'
},
{
xtype:'button',
ui:'submit',
text:'Login',
action:'loginUser'
}
]
}]
}
});
进一步研究这段代码,假设将数据发布到使用codeigniter rest api运行的远程服务器上。希望某种善良的灵魂可以从这里向我展示道路。
答案 0 :(得分:0)
没有动摇解决这个问题。发现了这个问题。我正在使用Ext.panel,我已在字段集中设置了id。经过一些在线研究后,fieldset没有附带.getValues();它来自Ext.form.Panel。
所以最终的代码应该是视图
Ext.define('tileconmob.view.Home', {
extend: 'Ext.form.Panel',
xtype: 'profilepanel',
id:'loginform',
config: {
title: 'About us',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
items: [{docked: 'top',
xtype: 'titlebar',
title: 'Login'},
{
xtype: 'fieldset',
title: 'About You',
items: [{
xtype: 'textfield',
name: 'name',
label: 'Full Name'
},
{
xtype: 'textfield',
name: 'password',
label: 'Password'
},
{
xtype:'button',
ui:'submit',
text:'Login',
action:'loginUser'
}
]
}]
}
});