アプリケーションに、指定されたクエリ文字列に基づいてデータを返すエンドポイントがあります。クエリ文字列には、たとえば/api/entities/related?filter1=val1&filter1=val2&filter2=val3type の 2 つのフィルターを識別するために、重複するキーを含めることができます (多くの場合、そうする必要があります) filter1。Flask はこれを適切に処理します。たとえば、 を実行するrequest.args.to_dictと、 が得られ{'filter1': ['val1', 'val2'], 'filter2': 'val3'}ます。
私の質問は、エンドポイントからコレクションをフェッチするときにバックボーンで同じことを達成する方法です。現在、私は持っているかもしれません
this.fetch({data: {'filter1': 'val1', 'filter1': 'val2', 'filter2': 'val3'}});
重複したキーは JavaScript オブジェクトで互いにオーバーライドされるため、私のfilter1値はval2. ただし、行うときは
this.fetch({data: {'filter1': ['val1', 'val2'], 'filter2': 'val3'}});
URL は最終的にになります/api/entities/related?filter1%5B%5D=val1&filter1%5B%5D=val2。これは、少なくとも 2 つの同一のキーを使用しますが、明らかに機能しません。
これはエンコーディングの問題ですか、それとも別の方法でアプローチする必要がありますか?