#javascript #json #list
Вопрос:
Я создаю список задач, но сталкиваюсь с ошибкой
VM619:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at showNotes (javapractice.html:121)
at javapractice.html:97
showNotes @ javapractice.html:121
(anonymous) @ javapractice.html:97
Вот как выглядит мой код
Код Javascript
В продолжение вышесказанного я хочу, чтобы кнопка удаления работала, и поэтому написал приведенный ниже код.
else {
notesElm.innerHTML = `Nothing to show fucker`;
}
}
// function to delete note
function deleteNote(index) {
console.log("Deleteme", index);
let notes = localStorage.getItem("notes");
if (notes == null) {
notesObj = [];
} else {
notesObj = JSON.parse(notes);
}
notesObj.splice(index, 1);
localStorage.setItem("notes", JSON.stringify(notesObj));
showNotes();
Но кнопка не работает.
Весь код
<script>
console.log('Welcome to Notes app');
showNotes();
let addBtn = document.getElementById("addBtn");
addBtn.addEventListener("click", function (e) {
let addTxt = document.getElementById("addTxt");
let notes = localStorage.getItem("notes");
if (notes == null) {
notesObj = [];
} else {
notesObj = JSON.parse(notes);
}
notesObj.push(addTxt.value);
localStorage.setItem("notes", JSON.stringify(notesObj));
addTxt.value = "";
//console.log(notesObj);
showNotes();
});
function showNotes() {
let notes = localStorage.getItem("notes");
if (notes == null) {
notesObj = [];
} else {
notesObj = JSON.parse(notes);
}
let html = "";
notesObj.forEach(function (element, index) {
html = `
<div class= "notecard my-2 mx-2 card" style="width: 18rem;" >
<div class="card-body">
<h5 class="card-title">Note ${index 1} </h5>
<p class="card-text"> ${element 1}</p>
<button id="${index}" onclock="deleteNote(this.id)" class="btn btn-primary">Delete Note</button>
</div>
</div> `
});
let notesElm = document.getElementById("notes");
if (notesObj.length != 0) {
notesElm.innerHTML = html;
}
else {
notesElm.innerHTML = `Nothing to show fucker`;
}
}
// function to delete note
function deleteNote(index) {
console.log("Deleteme", index);
let notes = localStorage.getItem("notes");
if (notes == null) {
notesObj = [];
} else {
notesObj = JSON.parse(notes);
}
notesObj.splice(index, 1);
localStorage.setItem("notes", JSON.stringify(notesObj));
showNotes();
}
</script>
Комментарии:
1. Пожалуйста, опубликуйте свой код в виде текста, а не изображения текста.
2. Что такое JSON, который пытается разобрать этот код?
3. Пожалуйста, добавьте к сообщению скриншот
console.log(notesObject)
вывода. Поместите его сразу после строки 1094. @ScottHunter Я опубликовал код в тексте, но в нем не указан номер строки. Вот почему мне пришлось добавить его в качестве изображения.
5. @AidOnline01 Я тебя не понял.
Ответ №1:
в первой строке showNotes
функции (строка 117 на снимке экрана) let Notes = …
«Примечания» должны иметь меньшую букву «n».
Комментарии:
1. Это помогло устранить ошибку. Но теперь я получаю еще одну ошибку. Неперехваченная ошибка типа: document.getElementById не является функцией в примечаниях (javapractice.html:134) в javapractice.html:97
2. потому что это
document.getElementById
с верхней буквой «В».3. Я не могу заставить кнопку удалить работать. Пожалуйста, проверьте обновленный вопрос на наличие письменного кода.
4. Правильно ли вы видите «Удалить …» в консоли? У вас есть какое-либо сообщение об ошибке?
5. В консоли нет сообщения об ошибке.