AngularJS $ http.get не работает. Не извлекает данные

Я новичок в AngularJS, но я уже многое сделал.
Я сделал $ http.post, который работал как шарм.

Вот угловой код

$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 / Войти функция

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 ОК, но HTML-страница идет. Не знаю почему.

Вот Угловой код

$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, вернуть ‘строку’; но ничего не получится. Что я не так делаю?

0

Решение

Догадаться. Если вы используете CodeIgniter в сеансах; и проверка в конструкторе, вошли ли люди, чтобы они могли видеть эту страницу или нет; когда вы выполняете $ http.get, он запускает конструктор и запускает это условие, и если они не видят эту страницу, даже если вы просто делаете запрос с этого контроллера через AJAX, он не позволит вам выполнить запрос ,

Я думал, что $ http.get только запросит функцию (i-e, verifyUserInDatabase ();) и выдаст данные, но оказывается, что нет.

Спасибо за помощь.

1

Другие решения

$ datafrombase никогда не устанавливается в retrieveLogin (), поэтому angular ничего не получит.

0