2016-06-23 9 views
0

ページが読み込まれるとすぐにGoogle App EngineのエンドポイントAPIが呼び出されると、次のエラーがスローされます。私はAPIを呼び出すまで数秒待つ必要があります。ページがいくつかの他の手段によって再ロードされるときにAngularJS Google App Engine APIの読み込みエラー

が同じで、私は$timeout(queryCallback, 100, false);結果が同じである数ミリ秒後にAPIを呼び出すためのコールバックを追加しようとしたなど

他のページから呼び出されたと言います。

これはAngularJSエラーまたはリソースの読み込みエラーですか?どのようにエラーを解決するには、あなたのコメントを共有してください。

angular-1.2.16.min.js:89 TypeError: Cannot read property 'queryInfo' of undefined 
    at h.$scope.queryInfoAll (controllers.js:641) 
    at $scope.queryInfo (controllers.js:616) 
    at angular-1.2.16.min.js:119 
    at e (angular-1.2.16.min.js:37) 
    at angular-1.2.16.min.js:40 

controllers.js:Javaのを見て641

gapi.client.database.queryInfo().execute(function (resp) { }

答えて

1

を例hereエンドポイント、あなたが

<script src="https://apis.google.com/js/client.js?onload=init"></script> 

を呼び出して初期化することで、JavaScriptでのエンドポイントを使用します。..これはあなたが選択したメソッド名である "init"という名前のJSメソッドを呼び出します。しかし、これはAngularJSライフサイクルを認識していない単純なJSメソッドです。

gapi.client.load(apiName, apiVersion, callback, apiRoot); 

だから、あなたの中に「ファイル名を指定して実行()」、あなたはそれがあるまで、「GAPI」が存在するかどうか尋ねると、延期する必要があります:あなたのinitメソッドでは、あなたが明示のように、あなたの特定のエンドポイントライブラリを初期化思えます。次に、コールバック関数を設定して "gapi.client.load()"を呼び出します。

+0

はい!それは私がクライアントのエンドポイントもロードしていた方法です。私は 'gapi'とクライアントエンドポイントの可用性を確認するためにコードを修正しました。使用できない場合は、コールバックで 'gapi.client.load'を呼び出しています。提案していただきありがとうございます! – SetV

関連する問題