Hej, licze na szybką pomoc.
Mam taką funkcję w PHP
// Ajax function
function getLoggedUser() {
// If user is logged
if (isset($_SESSION['user'])) {
$result = array(
'status' => 'OK',
'data' => array($_SESSION['user']['id'],$_SESSION['user']['login'])
);
} else {
$result = array(
'status' => 'Failed',
'data' => NULL
);
model_Log::saveLog('error', 'Tried to get logged user, but no user logged found', $_GET['controller'], $_GET['action']);
}
return json_encode($result);
}
, która zwraca mi (oprócz statusu odpowiedzi) id i login użytkownika. Całość enkoduję jsonem.
Funkcyjkę chcę wywołać po stronie klienta poprzez jquery ajax:
function getLoggedUser(base_url) {
var user = false;
$.ajax({
url: base_url+'?controller=User&action=getLoggedUser',
method: "POST",
dataType: 'json',
success: function(data, textStatus, jqXHR ) {
if(data.status === 'OK') {
user = data.data;
} else {
user = false;
}
},
error: function(request, textStatus, errorThrown) {
// alert(errorThrown);
user = false;
},
complete: function(jqXHR, textStatus) {
// wyświetla czy funkcja zakończyła się sukcesem/błędem
// alert(textStatus);
}
});
// method returns user data or "false", otherwise
return user;
}
Funkcja ajax wykonuje się poprawnie (data.data jak najbardziej daje pożądany wynik), jednak już:
var user = getLoggedUser(base_url);
skutkuje tym, że user[0] i user[1] są undefined.
Rzuci ktoś okiem dlaczego? Siedzę już nad tym, nerwuję się, a podejrzewam, że jak ktoś luknie swiezym okiem to znajdzie mój błąd.
Pozdrawiam