問題タブ [angular-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4467 参照

angularjs - AngularJS サービス/コントローラーが angular-leaflet-directive マップを更新しない

Angular-Leaflet-Directive と $resource を使用して Web サービスを呼び出す 2 つの異なる Angular サービスからのデータを使用してマップを生成しようとしています。これらのサービスは、緯度/経度の値を含む JSON メッセージを返し、地図上にマーカーを設定します。

ただし、サービスからデータを使用するためのディレクティブを取得できません。

サービスがスコープを更新しているため、正常に動作していることがわかります。コントローラーに値をハードコードすると、マップ マーカーが正しくレンダリングされます (たとえば、以下の「中心」を参照)。私がやりたいことは、この例に非常に似ています

これが私のコードです:

コントローラ:

私が見つけたのは、私の2つのサービスが返され、スコープが値で更新されますが、これはangular-leaflet-directiveに渡されないということです.

ディレクティブに関するAngularのドキュメントは、ディレクティブの次のコードが子スコープを親スコープにリンクして、両方が更新されることを示唆しています。

しかし、それは私にはうまくいかないようです。ただし、angular-leaflet-directive パスの例では、これが許可されているように見え (マーカーの追加、マーカーの変更などを行うことができます)、マップはリアルタイムで更新されます。

サービスが再開されたら、マップにマーカーを表示するにはどうすればよいですか?

これについて Stackoverflow にも同様の質問がありますが、これらの質問に対する答えは、ディレクティブ内にサービス呼び出しを含めることです。コントローラーは、フォーム送信の処理など、単なるサービス呼び出しよりも多くの機能を提供しており、同じデータへのアクセスを必要とするため、これを行いたくありません。

0 投票する
1 に答える
1223 参照

rest - AngularJS REST非同期呼び出しがデータを返さない

アプリケーションで、REST API 呼び出しを行うための角度サービスを作成しています。

私が以下のようにしていること:

非同期呼び出しと同様$q.all(newsCall, tweetsCall).thenに、サービスを呼び出しているときにニュースで null 配列を取得しています。

dataService.getNewsAndTweets()$q が後でデータを返す非同期呼び出しであることを理解している限り、コントローラー内で呼び出して null 配列を取得しています。

この問題を解決するにはどうすればよいですか?

前もって感謝します。

0 投票する
1 に答える
3178 参照

javascript - 2 つのパラメーターを持つ Angular $resource エンドポイント

$resource を処理するサービスを使用して、次のようにセットアップしました。

サービス

関数の呼び出し

ただし、PUT 呼び出しが実際に通過すると、エンドポイントに到達します /api/events/123/slots/。123 が適切ですが、接続され@Idませ@slotIdん。だから、私が望むのは/api/events/123/slots/456、しかしそれは決して起こらないということです。

0 投票する
1 に答える
6483 参照

angularjs - リソース ファクトリ内の AngularJS $timeout

私は現在、ユーザーのログイン時にサービスを呼び出してサーバー呼び出しを開始してカウントを更新し、ユーザーが認証されている場合にのみサーバー側のリターンを許可するAngularアプリケーションを持っています。

ユーザーがログアウトすると、そのカウンターをキャンセルしようとしています。そうしないと、サーバーはリソースに基づいて関数を呼び出して 401 無許可エラーを返します。

問題は、サーバーから 401 を返す $timeout でキャンセルを呼び出した後でも、カウンターが引き続き実行されることです。コンソールからログアウトすると、キャンセル機能が true を返します (キャンセルが機能しました)。$timeout の開始位置をいくつか試してみましたが、うまくいきませんでした。すべての $timeout が確実にキャンセルされるようにする方法はありますか? この構成で何が欠けているのかわかりません。

編集

0 投票する
1 に答える
424 参照

javascript - 2 番目の angular $http リクエストが宛先に到達しない

私は、事前交渉が完了するまで実際のリクエストを延期する oauth のようなフローを設定しています。

予備的なネゴシエーションは機能しますが、目的のリソースを要求しようとすると、次のような動作が発生します。

  • django サーバーは、ネゴシエーションの各ステップで POST 要求をログに記録します。
  • angular クライアントは、ネゴシエーションの各ステップの OPTIONS および POST リクエストをログに記録します。

ここまでは順調ですね。

次に、リソースの OPTIONS リクエストを取得します。error$http のリクエスト関数がステータス 0 でコールバックを実行している間、このリクエストはブラウザで保留中のままスタックします。

angular から次のようなエラー メッセージが表示されます: リソースの読み込みに失敗しました。

これは、$http に渡すリクエスト オブジェクトです。

署名に干渉する可能性があることを恐れて、すべての標準ヘッダーを削除しました。

django サーバーは、この要求に対して何もログに記録しません。

任意のポインタをいただければ幸いです。

0 投票する
1 に答える
377 参照

testing - レールで角度サービスをテストする

ジャスミンでサービスをテストしようとしていますが、「不明なプロバイダー: AuthServiceProvider <- 2683 行目の angular/angular.js の AuthService」というメッセージが表示され続けます。

私のサービスが定義されています:

そして私のテスト:

私のジャスミン設定ファイルは次のとおりです。

コントローラーを正常にテストできるため、これは適切に構成されているようですが、サービスが認識されない理由がわかりません。