Нужно передать массив точек через json. На сайте используется шаблонизатор ejs. Есть блок:
<div class="map" data-points="<%- JSON.stringify({points: ['point1','point2','point3']}) %>"></div>
а также js-файл, в котором нужно принять эти data-данные:
const points = $.parseJSON($('.map').data('points'));
в результате консоль выдаёт такую ошибку:
SyntaxError: Unexpected end of JSON input
подскажите, как правильно принять json-данные в js-файле?
Проверьте значение атрибута data-points, которое в итоге хранится в div. Похоже JSON.stringify выдает строку с кавычками и значение вашего атрибута - невалидная строка. Попробуйте записать атрибут через одинарные кавычнки, а его значение через двойные:
<div class="map" data-points='<%- JSON.stringify({points: ["point1","point2","point3"]}) %>'></div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей