問題タブ [angular-http]

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 に答える
15540 参照

angularjs - angular $route.reload(); に関する問題

次のコードがあるが、 $route.reload() がページを更新しない場合。

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

angularjs - $http と promises と POST

次のようなコードを指定します。

返されたプロミスで .then() を呼び出すと、次のようになります。

適切な .success() および .error() コールバックからの戻り値が .then() コールバックに渡されること。

ただし、期待する動作が見られません。 GET を使用すると、期待どおりに動作します。POST では、それほど多くはありません。通常の deferred \ promise のように動作するはずであるという私の仮定は正確ですか? どこに文書化されていますか (ソース以外)

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

javascript - AngularJS で制限されたページを管理するためのインターセプター

数日前に AngularJS を使い始めたばかりで、サーバーの応答から 401 ステータスをインターセプトするインターセプターに問題があります。

401 が返され、そのイベントでリダイレクトがトリガーされると、「loginRequired」タイプのメッセージをブロードキャストします。

問題は、ログインしていないときに制限されたページにアクセスしようとすると、ログイン ページにリダイレクトされる前にページが一瞬点滅することです。私はまだ非同期のもの、約束などのかなりの初心者です。誰かが私が間違っていることを指摘できますか?

これが私のインターセプターです。ご覧のとおり、非常に単純ですが、要点を説明するために簡略化し、さらに発展させる前に物事を理解しようとしています。

インターセプター

私のインターセプターの注入

制限ページへのルート

制限付きページ コントローラー

$rootScope イベント ウォッチャー

私の問題は明らかに、インターセプターと $q の処理方法にあります。githubでインターセプターを作成する別の方法を見つけましたが、それは公式ドキュメントが使用する方法ではないため、古い方法である可能性があり、工場に入れるほどクリーンではないと思います。彼は、モジュールの config 関数でルートを定義した後、このコードを配置するだけです。しかし、このコードは機能し、ページがフラッシュされません。

Github で見つけた別の方法

しかし、私の目標は「機能させる」ことだけではなく、「壊れていない場合は直さないでください」というマントラが嫌いです。自分のコードの問題を理解したい。ありがとう!

0 投票する
0 に答える
87 参照

javascript - インターセプターで読み取る $resource カスタム構成パラメーターを作成する方法

$resource特定の呼び出しに対してのみアクションを実行するインターセプターを作成したいと考えています。$resourceインターセプターが参照する大きなホワイトリストまたはブラックリストを作成して維持するのではなく、インターセプトするかどうかを呼び出し自体で指定する必要があります。

たとえば、$httpyou を使用すると、次のことができます。

次に、インターセプターで:

ただし、$resourceこのような構成オブジェクトを指定する引数はありません。$resourceの代わりにこれをどのように達成でき$httpますか?

0 投票する
0 に答える
1056 参照

angularjs - ページをリロードせずに Angularjs を使用して新しいデータをポーリングする方法

私はAngularの初心者で、無知を許してください。しかし、ページをリロードせずにリアルタイムでデータをポーリングして、すべてがバックグラウンドで行われるようにする方法を理解しようとしています。私は setInterval を使用して 5000 ミリ秒ごとにデータを取得していますが、私の理解では、json ファイルを常にロードしているため、これはブラウザにとって高価です。

サーバーに新しいデータがある場合に監視またはフェッチするための最良のソリューションは何ですか? そのため、json ファイルが新しいユーザー (友達) で更新されると、ページをリロードしたりボタンを押して更新したりすることなく、ページに新しいデータがフィードされます。私は基本的にリアルタイムで探しています。

見る:

データを取得するサービス:

コントローラー:

ご協力いただきありがとうございます。また、質問が意味をなさない場合は申し訳ありません。

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

node.js - AngularJs を使用した別のドメインからの Ajax リクエスト

私はこの本を使ってAngularJSを学び、Angular、Node、DeploydでこのWebアプリケーションを構築しています。今、私のアプリは localhost:5000/app.html にとどまります。5000 はノード Web サーバーがリッスンするポートです。この方法で展開して保存されたデータを取得しようとします:

ただし、これによりエラーが発生します。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。どうすればこれを解決できますか? ありがとう :)

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

json - angularjsでapiとフラットjsonを切り替える

今日、私のstackoverflow検索機能が壊れていると思います。これを尋ねたのは私だけではないはずです。私は本当にこれを理解するためにいくつかの助けを借りることができたので、私はそうではないことを願っています. データソース間の切り替えが大きな部分を占めますが、「抽象化する最善の方法」も論理的な次の質問です。

とにかく、私は3ダースのウィジェットのようなものを持っています. 各ウィジェットには、3 つのデータ ソース (API フル、API ショート、json ファイル) のいずれかがあります。インターネットから入ってきたばかりのユーザー、営業が提供する一時的なログインを持つユーザー、および独自の API キーでログインしたユーザーがいます。

  1. ログインなし = ダミーデータ/json
  2. temp login = 要約されたエンドポイントからのデータ
  3. API キー = 完全なデータ セット エンドポイント

これを論理的に説明すると、ユーザー アクセス用の $scope.access と、ユーザーがクリックしたウィジェット用の $scope.widget があります。古い関数の習慣に頼ると、これら 2 つをケース ブレークで使用して、適切なエンドポイントの値を返すことができるようです。しかし、次のように $http 呼び出しを機能させる変数を取得できないようです。

したがって、私の質問は次のようになります。

変数を使用して $http を再利用する最善の方法 (または私ができる方法) は何ですか?

このロジックをどのように抽象化し、コントローラーからこれを取得する必要がありますか (またはする必要がありますか?)

本当に優れているのは、おそらく次のように、コントローラーで呼び出すことができるものです。

残りはフードの下に隠されています。これに取り組む方法についてのアイデアはありますか?

よろしくお願いします。

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

angularjs - 角柱法

サービスに http メソッドを作成しました。しかし、私がそれを呼び出すと、null が返され、その理由がわかりません。メソッドは次のとおりです。

ありがとうございました。

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

javascript - AngularJS 'No 'Access-Control-Allow-Origin' header is present on the requested resource' エラー

AngularJS 1.2.20 を使用しています。

このサービスを使用し$httpて URL (別のドメイン/サーバー) から zip ファイルにアクセスすると、次のようなエラーが表示されます。

XMLHttpRequest cannot load http://localhost/ABC/updates.zip. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

モジュールの構成で次のように設定しようとしました:

しかし、これでもエラーがスローされます。

私のコードスニペットは次のとおりです。

これを防ぐために何をすべきですか?