クライアント側でステートフルでなければならない角度(1.4.8)のアプリケーションを作成しています。 URLには、現在のビューを構築するためのすべてのパラメータが含まれている必要があります。このURLを他の誰かに送信すると、まったく同じビューが表示されます。ディープリンク目的のURLのエンコーディングフィルタ
GETメソッドを使用する場合(GETであり、深いリンクの目的でPOSTが必要ではない)必要に応じて、URLクエリパラメータを使用してサーバからアプリケーションにデータを取得します。 [{key: 'name', operator: '=', value: 'John'}, {key: 'age', operator: '>', value: '35'},...]
私の質問:私はデータにフィルタを使用するフェッチデータ、これらのすなわち、多くの場合
これは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の長さ)。URLにこの配列をエンコードすることなく、私が望む(ステートフルなアプリケーション/ディープリンク)を実現するためのより良い方法がありますか?
あなたは、クエリ文字列からの読み取り時に、あなたが戻ってあなたの元にそれを解析することができますので、あなたがname+=+John,age+>+35,key+>=+value
を取得したいkey+operator+value
のような文字列を作成し、その後,
ですべてのキーに参加することができ、あなたに
各リンクのデータをリモートに保存し、2番目のユーザーが開いたときに何らかの種類のAPI呼び出しを介してすべてを取得することはできますか? ... –
POSTリクエストで検索条件を作成し、その条件のIDを取得してから、GET +条件IDを呼び出すことを意味する場合、その方法はわかりますが、それは私のためには機能しません。ありがとうございました。 – nadavelyashiv
私は実際にはそれを意味していません。一意のオブジェクトIDを持つリモートサーバーにデータパラメータを送信し、その後、そのIDを参照して、必要に応じてすべてのパラメータを取得するのはどうでしょうか? –