ウェブサイト検索

javascript - ダブルクォーテーションマークを使用した Angular の API コール


私はAPIのURLを呼び出すサービスを持っています。URLには値の周りに".."の引用符が必要なはずですが、APIを呼び出すと%22%27のように表示されます。URL内の二重引用符をそのまま表示させるにはどうすればよいですか?

コード

return this.http
      .get(`${this.env.HELPDESK_LIST_FILTER}` + '[{ "value": ' + `'"${value}"'` + ', "field": ' + `'"${column}"'` + ', "sort": ' + `'"${sort}"'` + ', "op": ' + `'"${filter}"'` + ' }]', params)
      .pipe(map((data) => data));

私の最終的なURLは次のようになるはずです:

https://example.com/api/tickets?filters=[{"value":"una","field":"name","sort":"none","op":"like"}]

代わりに今はこんな感じです:

https://example.com/api/tickets?filters=[{%20%22value%22:%20%27%22una%22%27,%20%22field%22:%20%27%22name%22%27,%20%22sort%22:%20%27%22none%22%27,%20%22op%22:%20%27%22like%22%27%20}]

何かアイデアはありますか?

回答 #1

これを試してみてください:

    return this.http
          .get(`${this.env.HELPDESK_LIST_FILTER}[{ "value": "${value}", "field": "${column}", "sort": "${sort}", "op": "${filter}" }]`, params)
          .pipe(map((data) => data));