如何实现sencha touch的json响应?

时间:2013-04-27 11:39:35

标签: php sencha-touch-2 json

我正在使用登录屏幕实现一个应用程序。而且我不知道我应该如何为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文件作为响应。我只想要一个真或假

你能帮助我吗?

谢谢! 塞巴斯蒂安

1 个答案:

答案 0 :(得分:0)

可能'问题。尝试使用array和json_encode()。不要按原样回显$ result。

// default false
$result = array('success' => false);
//...

    $result['success'] = true;
} 

echo json_encode($result);

并且没有理由在代码中间设置success false(默认为false)。