在对 CartoDB 进行 HTTP 网络查询时如何转义百分号

How do you escape percent signs when making a HTTP web query to CartoDB

例如:

像这样的东西有效:

SELECT * FROM table_1 WHERE field_1 LIKE 'FOO_'

然而这不是:

SELECT * FROM table_1 WHERE field_1 LIKE 'FOO%'

我已经尝试了我能找到的所有转义序列。 Tt 要么不起作用,要么 HTML 查询解释查询之前的 %。

你试过这个吗:

SELECT * 来自 table_1 其中 field_1 喜欢 'FOO%25'

您需要将查询包装在 encodeURIComponent 函数中

let query = encodeURIComponent(
  "select admin from public.ne_adm0_europe where admin like 'Ger%'"
)

let url = `https://cartojs-test.carto.com/api/v2/sql?q=${query}`

fetch(url)
  .then((response) => response.json())
  .then((myJson) => console.log(myJson));