0

何らかの理由で、私のフォームは、設定した URL にデータを送信する代わりに GET を実行し続けます。

私のフォームは次のようになります。

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 を初めて使用し、何も送信しないフォームがある場合は、おそらくこのチュートリアルBuild your first app に従っているでしょう。

問題があります。フォーム項目には、この例では欠落している名前が必要です。

項目は次のようになります。

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 を送信します。パラメータは、url パラメータではなく、http ペイロードでエンコードされることに注意してください。

乾杯、オレグ

于 2012-09-09T15:51:09.620 に答える