【发布时间】:2021-01-05 22:23:29
【问题描述】:
我目前正在尝试处理我的系统中的一个错误,即我的 GET 请求查询我的数据库无法处理空格。我在 JavaScript 中的 GET 请求看起来像这样,我 100% 肯定适用于没有空格的情况:
let values = JSON.parse(ajax().sync().get(url));
有关该错误的示例,请使用以下 URL:
localhost:8000/database/data?id_one=one&id_two=one hundred
显然,将其传入没有任何回报,因为我没有考虑空间。所以我然后尝试使用 '%20' 来逃避空间,如下所示:
localhost:8000/database/data?id_one=one&id_two=one%20hundred
但是,这仍然没有返回任何内容,正如我在服务器端看到的那样,它正在将带有 '%20' 作为文字的 URL 传递到查询中;它在数据库中查询“one%20hundred”而不是“100”。我可以说,因为服务器端的“GET”看起来像这样:
GET localhost:8000/database/data?id_one=one&id_two=one%20hundred 304 1.877 ms
如何转义这样的空间以正确查询数据库?我尝试使用 '+' 代替 '%20' 但不幸的是,这也没有解决它。
【问题讨论】:
标签: javascript ajax url get request