У меня есть функция, которая принимает число в качестве аргумента. Мне было интересно, как я могу использовать этот номер для перехода в URL-адрес, который затем будет использоваться в запросе GET.

Ниже приведен некоторый мой код, скобки {{}} ниже не работали, я также пробовал литералы шаблонов, которые по какой-то причине также не работали 'https://www.mywebsite.com/api/v2/${urlID}/fonts.json'


function getID (ID) {

  var urlID = this.ID;


  var request = require("request");

  var options = {
    method: 'GET',
    url: 'https://www.mywebsite.com/api/v2/{{urlID}}/fonts.json',
 };

-4
vimakek8 31 Мар 2020 в 16:55
1
Попробуйте литерал шаблона `https://www.mywebsite.com/api/v2/${urlID}/fonts.json`
 – 
User863
31 Мар 2020 в 16:58
А вернуться к простой конкатенации строк вам и в голову не пришло…?
 – 
CBroe
31 Мар 2020 в 16:58
Используйте модуль Querystring.
 – 
Kunal Mukherjee
31 Мар 2020 в 16:59
Если вы хотите проголосовать за то, чтобы закрыть этот вопрос как дубликат, хорошо, но это не просто интерполяция строк. Всем, кто делает это, нужно напомнить, чтобы они правильно экранировали свои данные URL.
 – 
Brad
31 Мар 2020 в 17:04
Строка запроса в данном случае не подходит.
 – 
Brad
31 Мар 2020 в 17:05

1 ответ

Чтобы ваш шаблон работал, вам понадобятся обратные кавычки.

`string ${someVariable} another string`

Поскольку вы помещаете данные в URL-адрес, вам также следует позаботиться об использовании encodeURIComponent(), чтобы все данные для URL-адреса экранировались должным образом.

Собираем все вместе:

url: `https://example.com/api/v2/${encodeURIComponent(ID)}/fonts.json`
0
Brad 31 Мар 2020 в 17:07