問題タブ [angularjs-resource]

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 投票する
3 に答える
3267 参照

angularjs - AngularJS 1.2.0 $resource 応答が空です

AngularJS 1.2.0 を使用しています。$resouce を使用して Web サービスを呼び出すと、応答変数は常に空になります。Web サービスは正しく呼び出され、Web サービスは結果をブラウザーに送信しています。問題は、(callback(response){}) 応答が常に空であることです。

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

javascript - アンパサンド (&) を AngularJS リソース パラメーターに渡す方法

次のように宣言された角度リソースがあります

次のようなアンパサンド (&) を含むパラメーターを渡すサービスを呼び出したいと思います。

ただし、AngularJS は & を適切にエンコードしません。"sigla=abc%26d" の代わりに "sigla=abc&d" を送信するため、サーバーは "sigla" のクエリ文字列パラメータ値を "abc&d" ではなく "abc" として認識します。

angular-resource-1.0.7.js を調べると、次のことがわかりました。

したがって、サーバーにリクエストを送信する前に、「&」をエンコードしてデコードします。サーバーに送信される直前に URL をカスタマイズできるポイントはありますか? encodeUriSegment を変更することはオプションですが、Angular 内の他のものを壊す可能性があります。何か案は?

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

javascript - ngResource により Web サイトがクラッシュする

サーバーでREST APIを使用するために、angResourceモジュールでangular.jsを使用するWebアプリケーションがあります。

すべての異なる URL にアクセスする方法は次のとおりです。

これがブラウザのタブがクラッシュする原因だと思います (他のブラウザでテストした結果、最終的にはクラッシュし、Firefox は JavaScript クラッシュ エラーを表示します)。

プロファイラーのスクリーンショット: プロファイラーのスクリーンショット(まだ画像を埋め込むことはできません:( )

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

angularjs - Angular resource.$query() と配列として応答を返すエラー状態ですが、プレーン オブジェクトとして必要です

ファイルのリストを返すサービスを使用しています。このサービスは以下を返します。

成功例: 以下に示す json 形式のファイル オブジェクトのリスト (HTTP コードは 200)

失敗した場合: HTTP エラー コード 500 としてエラー メッセージを含むエラー応答が返されます。

このサービスを呼び出す次の「クエリ」メソッドを使用しています。

私が直面している問題は、 $query() メソッドによって変換される応答オブジェクトです。間違っていると思われる配列として応答を得ています。$query() が配列としてのエラー応答も期待している理由がわかりません。エラーの場合。以下のように配列として応答を取得しています

$query() がこのように動作する理由がわかりません。正しい方法で処理する方法がわからない。助けてください。

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

ruby-on-rails - rails/RESTful ルートに angularjs リソースを使用するには?

Railsアプリにangularjsアプリが埋め込まれています。「タスク」という名前のリソースに対して、Rails が提供する RESTful メソッドを使用しています。私が扱っているルートは次のとおりです。

すべてのタスクの GET が正常に機能する Task アイテム用の angularjs-resource があります。(コードはコーヒースクリプトです)

ここでわかるように、PUT メソッドにスラッシュを挿入して format を取得しようとしています/api/v1/tasks/:id.json。残念ながら、角度はこれを%2fスラッシュではなく入れます。slashパラメータを追加するとコードが読みにくくなるため、このコードの品質には特に満足していません。

このリソースを使用する angularjs コントローラーは次のとおりです。

基本的に、私の質問は、angularjs リソースを使用して従来の rails/RESTful URL 形式を再現する方法の例を誰かが持っているかどうかです。私はいくつかの StackOverflow の質問を見てきましたが、良い答えが見つからないようです。どんな助けでも大歓迎です。

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

angularjs - angular.js $resource および ServiceStack サービスを使用した CORS

私はservicestack RESTサービスとangular.jsクライアントを持っています。Web は、RESTService とは別のポートでホストされます。

$http を使用したデータの取得は機能しますが、$resource の使用は機能しません。

REST サービスで、次のグローバル ヘッダーを設定します。

angular.js で、たとえば $http を使用してメソッドを正常に読み取ることができます

しかし、$ressource で同じアドレスを読み取っても機能しません。ファクトリのコードは次のとおりです。

コントローラーでこのように使用します

私が得るエラーは次のとおりです: Origin http://localhost:7000is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest を読み込めませんhttp://localhost/api/statushttp://localhost:7000Access-Control-Allow-Origin でオリジンが許可されていません。

私は何を間違っていますか?

また、許可されたオリジンを正確なアドレスに変更しようとしましたが、これは役に立ちません

0 投票する
3 に答える
228028 参照

rest - 安らかな POST 応答の「ベスト」プラクティス

したがって、ここで新しいことは何もありません。明確化しようとしているだけで、他の投稿では何も見つからないようです。

私は新しいリソースを作成しています。

体で:

新しいリソースの Location ヘッダーで 201 (Created) を返す必要があることはわかっています。

私が自分で答えることができないように見える質問は、サーバーが本体で何を返すべきかということです。

私はしばしばこのタイプの応答をしました:

私がこれを行った理由はいくつかあります。

  1. angularjs のようなフロント エンド フレームワーク用の API を作成しました。私の特定のケースでは、Angular リソースを使用しており、リソースを見つけるためにリソースの ID だけが必要になることがよくあります。応答本文で ID を返さなかった場合は、Location ヘッダーからそれを解析する必要があります。
  2. すべての本の GET では、通常、ID だけでなくオブジェクト全体を返します。この意味で、私のクライアント コードは、ID を取得する場所 (場所のヘッダーまたは本文) を区別する必要はありません。

今、私はここで本当に灰色の領域にいることを知っていますが、ほとんどの人は、リソース全体を返すことは「悪い」習慣だと言っています. しかし、サーバーがリソースの情報を変更/追加した場合はどうなるでしょうか。それは間違いなくIDを追加しますが、タイムスタンプなどの他のものも追加する可能性があります. リソース全体を返さない場合は、POST を実行して ID を返し、クライアントに GET を実行させて新しいリソースを取得する方が本当に良いでしょうか。

0 投票する
4 に答える
18044 参照

javascript - 剣道データソースに angular スコープ変数を与える

現在、剣道グリッドにリモート データを入力しようとしています。剣道にはデータを取得する独自の機能がありますが、私が作成した angular factory を使用したいと考えています。

したがって、「getSkills」機能を持つファクトリがあります。この関数は、API からすべてのスキル オブジェクトを取得します。

Angular の SkillController では、取得したこれらのスキルをスコープ変数に入れます。

ここで剣道グリッドを初期化します。

ほとんどの場合、ajax コールバックは剣道グリッドの初期化よりも遅くなります。次に、テーブルのデータが angular $scope.skills 変数にバインドされていないため、空のテーブルが表示されます。

どこでも検索しましたが、初期化でデータ属性にカスタム関数を使用する方法や、スコープ変数をテーブルにバインドする方法がわかりません。

どんな助けでも大歓迎です!