我是 AngularJS 的新手,但我已经做了很多事情。我做了一个 $http.post,效果很好。
这是Angular代码
$scope.login = function(user, pass) {
$scope.bIsVisible = false;
var dados = {"user": user, "pass": pass};
console.log(dados);
$http.post('http://base.corretoconcursos.com.br/cadernos/index.php/manageUsers/login', dados)
.success(function(data, status, headers, config) {
if (data == false)
{
$scope.isLogged = false;
$scope.bIsVisible = true;
} else {
$scope.isLogged = true;
$scope.userData = data;
console.log(data);
}
})
.error(function(data, status, headers, config) {
alert('failed');
$scope.bIsVisible = true;
});
以及manageUsers/login功能
function login()
{
$postdata = file_get_contents("php://input");
$data = json_decode($postdata);
$username = $data->user;
$password = md5($data->pass);
$datafrombase = $this->UsersModel->getUser(array(
'user' => $username,
'pass' => $password
));
if ($datafrombase != null) {
$user = array(
'user' => $datafrombase['user'],
'type' => $datafrombase['type'],
'logged_in' => true
);
$this->session->set_userdata($user);
}
if ($datafrombase != null)
print_r(json_encode($datafrombase));
else
return false;
}
好的。它正在工作。我从数据库中检索一些数据并确定。真正的问题是,当我执行$http.get并且仅通过是否对数据库执行请求时,它不会发回我想要的数据,当我执行 console.log(data) 时,它会向我显示完全是 HTML 页面,实际上就是正在显示的页面。我得到一个 200 状态 OK,但是,一个 HTML 页面即将到来。不知道为什么。
这是Angular代码
$scope.setLoggedOn = function(on) {
if (on) {
$http.get('http://base.corretoconcursos.com.br/cadernos/index.php/manageUsers/retrieveLogin')
.success(function(data, status) {
console.log(data);
})
.error(function(data, status, headers, config) {
alert('failed');
});
}
else
$scope.isLogged = false;
};
这是我正在检索的PHP 代码函数。
function retrieveLogin()
{
$user = null;
$user = array(
'user' => $this->session->userdata('user'),
'type' => $this->session->userdata('type'),
'logged_in' => true
);
print_r(json_encode($user));
}
我被困住了。我什至尝试过只做一个“回归真实”;在 php 函数内部,返回 'string';但什么都行不通。我做错了什么?