我正在使用登录屏幕实现一个应用程序。而且我不知道我应该如何为sencha touch实现json响应。
这是我的login.js
Ext.Ajax.request({
url: 'http://localhost/alt/FIFA-Europaliga/admin/index.php?page=login_try_app',
method: 'post',
params: {
login: Ext.getCmp('username').getValue(),
password: Ext.getCmp('passwort').getValue(),
},
failure: function (response) {
var loginResponse = Ext.JSON.decode(response.responseText);
if (loginResponse.success === "false") {
alert('fail');
}
},
success: function (response) {
//console.log(response);
//console.log(response.responseText);
var loginResponse = Ext.JSON.decode(response.responseText);
if (loginResponse.success === "true") {
Ext.Viewport.setActiveItem("mainview",{
type: "pop",
direction: "left"
});
}
},
});
这是我的login_try.php
<?php
$result = "{'success':false}";
if (count($_POST) > 0) {
$_POST = $sys->db->sql_filter($_POST);
$login = $_POST['login'];
$password = $_POST['password'];
$user = new User($login, $password);
if ($user->login($sys->db)) {
session_start();
$_SESSION['user'] = $user;
$result = "{'success':true}";
} else {
$result = "{'success':false}";
}
} else {
$result = "{'success':false}";
}
echo $result;
echo json_encode($result);
?>
现在我从服务器获取完整的login.php文件作为响应。我只想要一个真或假
你能帮助我吗?
谢谢! 塞巴斯蒂安
答案 0 :(得分:0)
可能'
问题。尝试使用array和json_encode()。不要按原样回显$ result。
// default false
$result = array('success' => false);
//...
$result['success'] = true;
}
echo json_encode($result);
并且没有理由在代码中间设置success
false
(默认为false)。