如何在URL字符串插值中添加反引号

时间:2018-10-19 19:47:09

标签: javascript reactjs

我正在尝试构建一个使用BASE_PATH和fieldname字符串的URL字符串,以匹配我的API路由。不幸的是,我正在使用的外部数据库在字段名称中包含空格。

我的api路由如下:localhost / api / data / fieldname

我的提取请求如下:

const BASE_PATH = 'http://localhost:8082/api/data/'

  componentDidUpdate() {
    let URL = `${BASE_PATH}${this.props.fieldName}`
    fetch(URL)
    .then(response => response.json())
    .then(data => this.populateData(data))
    .catch(error => error);
  }

当字段名=教育时,这很好用 但是当fieldname =婚姻状况时就不太好了

当我将字段名包装在反引号中时,提取请求有效。 marital status,但鉴于我已经在字符串插值中使用了反引号,因此我无法理解如何修改URL构建以将反引号置于$ {this.props.fieldName}周围。

2 个答案:

答案 0 :(得分:3)

您需要逃避反引号:

 let URL = `${BASE_PATH}\`${this.props.fieldName}\``

答案 1 :(得分:2)

您可以在模板字符串中使用反斜杠转义反引号。

`${BASE_PATH}\`${this.props.fieldName}\``

请参见Template literals with nested backticks(`) in ES6