Logic
У меня есть файл JSON следующим образом:
[
{
"title":"Article Title 1",
"url":"https://mywebsite.com/articles/article1.html",
"type":"codes"
},
{
"title":"Article Title 2",
"url":"https://mywebsite.com/articles/article2.html",
"type":"games"
},
{
"title":"Article Title 3",
"url":"https://mywebsite.com/articles/article3.html",
"type":"codes"
}
]
И я читаю этот файл, затем заполняю свою html-страницу для каждого элемента в файле (таким образом, на моей странице 3 заголовка, что означает 3 контейнера).
Проблема
Раньше не было ошибок, но теперь я получаю сообщение об ошибке в консоли: *SyntaxError: JSON.parse: expected ',' or ']' after array element at line 12 column 2 of the JSON data*
НО, все работает, если есть только 2 статьи! После добавления третьего набора данных возникает ошибка. Формат файла кажется правильным, в нужных местах есть ",", я преобразовал его в разные кодировки, но с той же ошибкой.
код
Основной запрос :
Я запрашиваю файл JSON при загрузке документа следующим образом:
$(document).ready(function(){
var reqdata = new XMLHttpRequest();
reqdata.open('GET', "https://website.com/dat/data.json");
reqdata.onload = function() {
if (reqdata.status >= 200 && reqdata.status < 400) {
try{
var postData = JSON.parse(reqdata.responseText);
render_posts(postData); // this creates dynamic content in html
//console.log(postData);
} catch (err) {
alert(" JSON Parse Error :'( ")
}
} else { alert("JSON Requestion Server Error!") }
}; reqdata.onerror = function() { alert("JSON Request Connection Error!") };
reqdata.send();
});
Заполнение HTML :
Это вызывается из кода выше, если JSON.parse работает. Эта часть отлично работает, просто для справки ..
function render_posts(data) {
var htmldata = ""; var cardId = "";
for (var x = 0; x < data.length; x++) {
cardId = "card-type-" + data[x].type;
htmldata += "<div class='card' id='" + cardId + "' onclick='card_clicker(\"" + data[x].url + "\")'><div class='header'>" + data[x].title + "</div><div class='decor'></div></div>";
}
cardWrapper.insertAdjacentHTML('beforeend', htmldata);
}
Справка : Любая помощь приветствуется. Не могу понять, в чем реальная проблема. Файл JSON выглядит нормально. Я попытался отформатировать его онлайн, но результаты те же. Я совсем новичок в AJAX. Пробовал другие решения на stackoverflow, но все тот же ..