-2

私はextjsの学習を始めたばかりで、ログインフォームを試していました。しかし、読んでログインフォームを機能させるための多くの資料を見つけることができませんでした. 私が試したフォームは、フィールドを作成し、login.php で送信されたフォームを受け取ります。しかし、 "success:" "failure:" を実行する代わりに、json コードを login.php に出力し、prin_r($_POST) を使用して送信されたコードを出力しようとすると、空白の値が返されます。

app.js のコードは次のとおりです。

Ext.require('Ext.container.Viewport');

Ext.application({
name : 'userApp',
appFolder : 'app',

launch : function() {
    console.log("random stuff ");
    Ext.create('Ext.container.Viewport', {
        layout : 'fit',
        items : [
        {
            xtype: 'form',
            id: 'userLogin',
            title: 'User Login',
            name: 'loginform',
            items: [{
                xtype: 'textfield',
                fieldLabel: 'Username',
                name: 'username',
                allowBlank: false,
            },
            {
                xtype: 'textfield',
                fieldLabel: 'Password',
                name: 'password',
                allowBlank: false,
            },
            {
                xtype: 'button',
                text: 'Login',
                url: 'login.php',
                handler: function(obj){
                    form = obj.getParent().getParent();
                    form.submit({
                        url: 'login.php',
                        method: 'POST',
                        success: function() {
                            console.log(arguments);
                            alert("sss");
                        },
                        failure: function() {
                            console.log(arguments);
                            alert("ssssssss");
                        }
                    });
                }
            }]
        }]
    });
}
});

そしてlogin.phpは

<?php
print_r($_POST);
if(isset($_REQUEST['username']) && isset($_REQUEST['password'])){
    if($_REQUEST['username'] == "neelam" && $_REQUEST['password'] == "neelam"){
        echo '{"success": true}';
    }
}
echo '{"success": false}';
?>

extjs4 + phpのCRUDチュートリアルのリンクを送ってください。

4

1 に答える 1

1

次の行を変更してみてください。

form = obj.getParent().getParent();

に:

form = obj.up('userLogin');

また、die(); を追加することもできます。php コードの次の行の後に追加しないと、成功した場合でも成功と失敗の応答が返されます。

echo '{"success": true}';
die();

テストする前に print_r() を削除することを忘れないでください:)

于 2012-10-04T18:55:25.220 に答える