出于某种原因,我的表单继续进行GET而不是将数据发布到我配置的URL。
我的表单如下:
Ext.define('App.view.LoginFormPanel', {
extend : 'Ext.form.Panel',
xtype : 'loginForm',
id : 'loginForm',
config : {
title : 'Login',
iconCls : 'user',
ui : 'light',
items : [
{
xtype : 'fieldset',
title : 'Login',
items : [
{
xtype : 'textfield',
label : 'Login',
name : 'j_username',
required : true,
readOnly : false
}, {
xtype : 'passwordfield',
label : 'Password',
name : 'j_password',
required : true,
readOnly : false
}
]
}, {
xtype : 'button',
ui : 'confirm',
text : 'Login',
action : 'login'
}
]
}
});
我提交表单的控制器如下所示:
......
login : function() {
loginForm.submit({
url : 'j_spring_security_check',
method : 'POST'
});
},
......
我试图将url和方法放在表单上也没有运气:(。
有人知道我做错了吗?
答案 0 :(得分:0)
尝试将standardSubmit设置为true。默认情况下,触摸表单是通过ajax GET方法提交的,但standardSubmit将发送POST。请注意,参数将在http有效载荷中编码,而不是在url params中编码。
干杯,奥列格
答案 1 :(得分:0)
我的答案是针对那些使用POST方法提交表单有问题的人。
如果您是Sencha的新手,并且您的表单中没有提交任何内容,那么您可能会遵循本教程Building your first app
有问题。表单项必须具有示例中缺少的名称。
项目应如下所示:
items: [
{
xtype: 'textfield',
name: 'name',
label: 'Name'
},
{
xtype: 'emailfield',
name: 'email',
label: 'Email'
},
{
xtype: 'textareafield',
name: 'message',
label: 'Message'
}
]