我有了這個服務:不可能得到從服務JSON到angularJs路由
monApp.service('serviceEtatConnexion', function ($http) {
this.getEtatConnexion = function() {
return $http.get('backend/backend.php?action=get_etat_connexion');
};
});
後端PHP返回此值,當直接調用:
{"statuslogin":1}
在我angularjs路由,我想得到這個值測試這樣的值:
resolve:{
"check":function($window,serviceEtatConnexion,$location){
var u = serviceEtatConnexion.getEtatConnexion();
console.log('u est egal a ' +u);
console.log(u.$$state.statuslogin);
alert(JSON.stringify(u, null, 4));
/* if(u!= '{"$$state":{"status":0}}'){
alert("ok");
}else{
alert("Vous devez vous identifier pour utiliser cette partie");
$window.location.href ='http://liseo.lan/dev/login.phtml?mlog=&domain=stuff';
} */
}
}
絕對沒有辦法得到statuslogin json值,看看我所嘗試過的。我總是看到控制檯內的「undefined」 我不明白爲什麼。
對於信息,這是我的PHP函數,即正確編碼JSON:
function get_etat_connexion(){
session_start();
include_once("../../../globprefs.php");
include_once("../../../manage_session.php");
$http_form_vars = count($_POST) > 0 ? $_POST :
(count($_GET) > 0 ? $_GET : array(""));
if(USER&PASSWORD){
$reponse['statuslogin']=1;
echo(json_encode($reponse));
}
else{
$reponse['statuslogin']=0;
echo(json_encode($reponse));
}
}
即使這不工作,返回undefined:
VAR statuslogin = $ HTTP。獲得( '後端/ backend.php行動= get_etat_connexion?'); console.log('statuslogin estalal a'+ statuslogin);
是的,終於沒有工作,當人沒有登錄,我想你的解決方案 – user7370387
它終於正常工作,非常感謝你,只是改爲if(result.data.statuslogin === 1) – user7370387