Технически ваш код работает при условии, что BACKEND_URL правильный, а json действительный. Но в текущем состоянии он ничего не делает с данными. Например, если вы выводите теги h4, вы должны увидеть их записанными на экран.
document.write(
`<h4> ${playlist.attributes.track.name}</h4>
<h4>${playlist.attributes.track.artist}</h4> `
)
Или, в качестве альтернативы, вы можете зарегистрировать значения, чтобы доказать, что вы обрабатываете данные правильно:
console.log(playlist.attributes.track.name, playlist.attributes.track.artist)
Если нет, то следующее, что нужно проверить, - это действительность вашего json. Я предполагаю, что вы скопировали свой json из браузера, который удалит некоторые кавычки для удобства чтения. Просмотрите исходный код, чтобы убедиться, что имена ключей правильно заключены в кавычки, например:
{
"data": [
{
"id": "1",
"type": "playlist",
"attributes": {
"name": "Country Songs",
...
Если вы используете сериализаторы ActiveModel, они должны быть отформатированы правильно.
Если ваш json действителен, и вы можете записать теги h4 на страницу с правильными данными в них, тогда проблема, вероятно, кроется в вашем классе списка воспроизведения.
Другой удобный инструмент для диагностики проблем fetch () находится в Chrome Developer Инструменты. Go в Сеть и щелкните фильтр XHR. Это позволит вам проверить запрос на выборку и увидеть, является ли ответ действительным и данные соответствуют вашим ожиданиям. В других браузерах есть аналогичная функция.