我有了这个服务:不可能得到从服务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