Ext js 4表单用于读取json输出

时间:2012-10-03 07:23:44

标签: php forms extjs4

我刚刚开始学习extjs并尝试登录表单。但找不到很多材料要阅读并获得登录表格。我尝试的表单创建字段,在login.php上获取提交的表单。但是不是执行“success:”“failure:”,而是在login.php上打印json代码,当我尝试使用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教程链接。

1 个答案:

答案 0 :(得分:1)

尝试更改以下行:

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

为:

form = obj.up('userLogin');

另外,你可能想要添加一个die();在您的PHP代码中的以下行之后,否则您将获得成功和失败响应,即使在成功的情况下。

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

并且在测试之前不要忘记删除print_r():)