loginService.islogged()
上記の関数は、「失敗」のような文字列を返します。しかし、それを実行しようとすると、関数でエラーが返されます
TypeError: Cannot read property 'then' of undefined
カーソルは直後connected
と直前を示します.then
。
以下は完全な機能です:
var connected=loginService.islogged();
alert(connected);
connected.then(function(msg){
alert("connected value is "+connected);
alert("msg.data value is "+msg.data);
if(!msg.data.account_session || loginService.islogged()=="failed")
$location.path('/login');
});
更新
ここにislogged()
機能があります
islogged:function(){
var cUid=sessionService.get('uid');
alert("in loginServce, cuid is "+cUid);
var $checkSessionServer=$http.post('data/check_session.php?cUid='+cUid);
$checkSessionServer.then(function(){
alert("session check returned!");
console.log("checkSessionServer is "+$checkSessionServer);
return $checkSessionServer;
});
}
私はこれ$checkSessionServer
が「失敗した」文字列をもたらすと確信しています。これ以上何もない。
を取得するために何を呼び出す必要があるか
—
Daniel A. White
msg
-これはpromiseを返す必要があります。
エラーがに関するもの
—
Jonathan Lonowski、2014
undefined
である場合、islogged()
実際にreturn
は値ではありません。の定義がislogged()
問題の原因である可能性があります。
isloggedメソッドが値を返さない場合があります。その後、あなたはisloggedを非同期メソッドとして使用していないので、おそらくpromiseをまったく返さないでしょう。
—
Andrej Kaurin 14
@Jonathan Lonowski islogged関数を投稿しました。より多くの洞察をもたらすことを願っています。
—
Ezeewei 2014
promise
ここはありません。