0

出于某种原因,我的表单继续执行 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 和方法放在表单上也没有运气:(。

有人知道我做错了什么吗?

4

2 回答 2

0

我的答案是针对那些在使用 POST 方法提交表单时遇到问题的人。

如果您是 Sencha 的新手,并且您有一个什么都不提交的表单,您可能按照本教程构建您的第一个应用程序

它有问题。表单项必须具有示例中缺少的名称。

项目应如下所示:

items: [
{
    xtype: 'textfield',                             
    name: 'name',
    label: 'Name'
},
{
    xtype: 'emailfield',
    name: 'email',
    label: 'Email'
},
{
    xtype: 'textareafield',
    name: 'message',
    label: 'Message'
}
]
于 2014-04-08T08:09:38.500 回答
0

尝试将standardSubmit设置为true。默认情况下,Touch 表单通过 ajax GET 方法提交,但 standardSubmit 将发送 POST。请注意,参数将在 http 有效负载中编码,而不是在 url 参数中。

干杯,奥列格

于 2012-09-09T15:51:09.620 回答