Google+ サインイン ボタンを Angular アプリに追加しようとしていますが、コールバック結果の処理を除いて、ほとんどが機能しています。signinCallback
G+ サインインからのコールバックは、次のように呼び出される外部 JS 関数です。
//Handling the Google+ Signin right here
function signinCallback(authResult) {
angular.element($("#btnGooglePlus")).scope().handleGoogleSignin(authResult);
}
back をコントローラーに渡す方法を理解できる唯一の方法は、authResult
を介してコントローラー メソッドを呼び出すことでしたelement.scope()
。handleGoogleSignin
は正常に呼び出され、その関数内にはhttp.get
次のようなサービス呼び出しがあります。
User.getSocialKey(key).then(function(data) {
console.log(data);
});
User
はサービスで、getSocialKey
次のようになります。
getSocialKey: function(etag) {
console.log("Hit the social key service with the etag: " + etag);
return $http({
url: '/api/user/social',
method: 'post',
data: {etag:etag}
}).then(function(result) {
console.log("Returning promise from social service");
return result.data;
});
},
最初のログ ステートメントは正常にヒットし、その後はヒットしません。リクエストは送信されません。ng-model
ここで、属性 (チェックボックスなど)を持つページ上の何かをクリックすると、リクエストが正常に送受信されます。私の質問:何かをクリックするまで Angular サービス呼び出しが中断されるのはなぜですか? なぜすぐに通過しないのですか?
getSocialKey
同じことを、動作中のサービス呼び出しに置き換えてみました。問題は関数を呼び出すことに帰着すると思いますangular.element($("#btnGooglePlus")).scope().handleGoogleSignin(authResult);
が、よくわかりません。これを前に見た人はいますか?