【问题标题】:JS: How to keep the space in URLJS:如何在 URL 中保留空格
【发布时间】:2018-05-17 13:24:29
【问题描述】:

我正在使用 Angular 4,在我的服务中我有一个删除 api,其中包含 2 个字符串作为参数,如下所示

this.http.delete(this.url + 'api/v1/ReportingService/collectionID/'+ '45902' +'/'+'ReportName/' + 'my report 2012:21:24.810419' + '/DeleteReport', { headers: this.headers })
    .map(this.extractResponse)
    .catch(this.handleError);

报告名称参数包含空格。我知道网址不能有空格。当我调用 api 空间被 %20 取代。因此,我尝试用 '' 替换空格,用 20 替换空格,两种方式。但是我必须保留空格,因为报告名称将存储在带有空格的数据库中,所以我必须在 api 中有一个空格。 如何解决?

【问题讨论】:

  • 您必须在应用程序的后端/API 端对其进行解码。或者在 post 请求中发送此参数,在正文中,而不是使用 get。
  • 你不能,你要么需要使用代码%20,要么使用类似下划线的东西

标签: javascript angular url


【解决方案1】:

百分比编码是RFC 3986 的一部分,它描述了统一资源标识符 (URI) 语法。在将其插入数据库之前,您需要使用它并在服务器端解码该字符串。

如果服务器端是使用 JavaScript 实现的,那么您可以在字符串上使用 decodeURI() 函数。

decodeURI('a%20b%20c') // result: 'a b c'

所有服务器端语言都会有类似的功能,例如:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2016-11-03
    • 2013-02-03
    • 2011-11-15
    相关资源
    最近更新 更多