我刚刚开始学习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教程链接。
答案 0 :(得分:1)
尝试更改以下行:
form = obj.getParent().getParent();
为:
form = obj.up('userLogin');
另外,你可能想要添加一个die();在您的PHP代码中的以下行之后,否则您将获得成功和失败响应,即使在成功的情况下。
echo '{"success": true}';
die();
并且在测试之前不要忘记删除print_r():)