javascript - URL GET 请求 JavaScript 的编码/转义空格
问题描述
我目前正在尝试处理我的系统中的一个错误,我的 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' 但不幸的是,这也没有解决它。
解决方案
你有没有考虑解构请求服务器端?我假设您将 Node.JS 与 Express 一起使用。如果是这种情况,请尝试删除req.param.id_two
.
推荐阅读
- iis - Azure keyvault 扩展未更新 IIS 中的 ssl 绑定,但客户端能够接收更新的证书
- javascript - Javascript 函数不从 Http 源加载图像
- jenkins - Jenkins 和 terraform 插件,未找到 terraform 文件
- authentication - WSO2 APIM 3.1.0 - API 与一个用户一起运行,但不适用于具有相同角色的其他用户
- angular - “别名”类型的参数不可分配给“任何 []”类型的参数
- flutter - apk 发布模式下 shared_prefrences 的颤振错误(在通道 plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)
- apache-spark - 用pyspark有条件地聚合列?
- vba - 词添加在缓存中,无法删除
- python - 使用 Scrapy [Python] 抓取相对 URL
- r - 优化 dplyr mutate 函数中的计算