2016-05-10 5 views
0

クライアント側でステートフルでなければならない角度(1.4.8)のアプリケーションを作成しています。 URLには、現在のビューを構築するためのすべてのパラメータが含まれている必要があります。このURLを他の誰かに送信すると、まったく同じビューが表示されます。ディープリンク目的のURLのエンコーディングフィルタ

GETメソッドを使用する場合(GETであり、深いリンクの目的でPOSTが必要ではない)必要に応じて、URLクエリパラメータを使用してサーバからアプリケーションにデータを取得します。 [{key: 'name', operator: '=', value: 'John'}, {key: 'age', operator: '>', value: '35'},...]

私の質問:私はデータにフィルタを使用するフェッチデータ、これらのすなわち、多くの場合

  1. これはURLへの配列をフィルタリングエンコードするための最良の方法は何ですか? フィルタ文字列(醜い)のURIEncode(JSON.stringify(filtersArr))が見つかりました。これを取得するにはjQuery.param()などを使用してください。 http://host.com/app?filters[0][key]=name&filters[0][operator]=eq&filters[0][value]=John... 非常に長く、すべてのブラウザ(2000文字を超えるURLの長さ)。

  2. URLにこの配列をエンコードすることなく、私が望む(ステートフルなアプリケーション/ディープリンク)を実現するためのより良い方法がありますか?

あなたは、クエリ文字列からの読み取り時に、あなたが戻ってあなたの元にそれを解析することができますので、あなたがname+=+John,age+>+35,key+>=+valueを取得したいkey+operator+valueのような文字列を作成し、その後,ですべてのキーに参加することができ、あなたに

+0

各リンクのデータをリモートに保存し、2番目のユーザーが開いたときに何らかの種類のAPI呼び出しを介してすべてを取得することはできますか? ... –

+0

POSTリクエストで検索条件を作成し、その条件のIDを取得してから、GET +条件IDを呼び出すことを意味する場合、その方法はわかりますが、それは私のためには機能しません。ありがとうございました。 – nadavelyashiv

+0

私は実際にはそれを意味していません。一意のオブジェクトIDを持つリモートサーバーにデータパラメータを送信し、その後、そのIDを参照して、必要に応じてすべてのパラメータを取得するのはどうでしょうか? –

答えて

0

ありがとうございました配列を逆にして

関連する問題