Доброго времени суток!
В проекте использую Calendario.js для создания календаря событий.
После загрузки страницы и инициализации календаря, отправляю ajax запрос, где получаю в json формате данные о мероприятиях.
При успешном получении данных прохожусь в цикле по всем элементам, и пытаюсь создать событие в календаре для каждого.
$.ajax({
type: "POST",
url: '/ajax/getListEvent.php',
dataType: 'json',
data: ({
action:'getlist',
month: 3,
year: 2017,
}),
success: function(data) {
$.each(data, function(i, item) {
var date = item.date;
var img = item.img;
cal.setData({
date : '<img src="'+img+'" />'
//'03-31-2017' : '<img src="/upload/558/114_80_2/123.jpg" />'
});
});
}
});
В консоли вываливается ошибка библиотеки, смотрим строку с проверкой значений на ошибки:
if(/^\d{2}-\d{2}-\d{4}/.test(key) || /^\d{2}-\d{2}-YYYY/.test(key) || /^\d{2}-DD-YYYY/.test(key) || /^MM-\d{2}-YYYY/.test(key) ||
/^\d{2}-DD-YYYY/.test(key) || /^MM-\d{2}-\d{4}/.test(key) || /^\d{2}-DD-\d{4}/.test(key) || key == 'TODAY') {} else
console.log(key + ' is an Invalid Date. Date should not contain spaces, should be separated by \'-\' and should be in the ' +
'format \'MM-DD-YYYY\'. That ain\'t that difficult!');
Дата в нужном формате. По-этому, вывожу в консоль значение:
console.log(key, val);
Ответ в консоли:
date <img src="/upload/558/114_80_2/123.jpg" />
То есть понимаем, что date передалась как строка, а img - нормально интерпретировалась.
И если при добавлении события закомментировать строку с передаваемыми параметрами, и передавать сразу значения
cal.setData({
'03-31-2017' : '<img src="/upload/558/114_80_2/123.jpg" />'
});
То все работает нормально..
Подскажите, пожалуйста, что я делаю не так, при передаче данных?