【发布时间】:2017-02-10 09:34:14
【问题描述】:
我有这项服务:
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 值,看看我尝试过的所有内容。我总是在控制台中看到“未定义” 我不明白为什么。
关于信息,这是我的 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.get('backend/backend.php?action=get_etat_connexion'); console.log('statuslogin est egal a ' +statuslogin);
【问题讨论】:
标签: javascript php angularjs json