私のAngularアプリでは、APIコールを介して結果を返し、一連のチェックボックスでこれらの結果をフィルタリングすることができます。今、私は問題に遭遇していますが、特定のフィルタに対して1つの値が送信されたときに結果が返される一方、複数の値が選択されたとき(たとえば、複数の郵便番号でフィルタリングされた場合など)景色。エラーはなく、結果はありません。個々の値の代わりに1つの文字列として送信される出力値
Chrome devtoolsの[ネットワーク]タブを使用してしばらく私の頭を傷つけた後、私は最終的にペイロードの各項目を引用符で囲むのではなく、その問題であると判断しました。 "90001"、 "90002"これは「90001,90002」です。言い換えれば、引用符は2つではなく1つの値のようにラップされます。
これは私が一緒に選択された値を入れて、「参加」を使用しているコードです:
this.sendZipcode.emit(this.zipcodeFilters.text = arr.length === 0 ? undefined : arr.join(','));
私は、この「参加」である方法を調整することができますかわかりませんそれぞれの項目を1つの長い文字列のようにラップするのではなく、引用符で囲むために、 "join"の代わりにいくつかの他の解決策を見つけてください。
これは、2つの郵便番号を選択した後、Chrome devtoolsの[ネットワーク]タブに表示されます。
addresses.zipCode: {$in: ["90001, 90002"]}
おかげ@ChrisG。私はそれを試してみましょう。 – Muirik
だから、このようなものを送りますか? this.sendZipcode.emit(this.zipcodeFilters.text = arr.length === 0?undefined:arr); – Muirik