Изучаю работу с localStorage и столкнулся с непонятной ситуацией. Написал простой код для получения данных из локального хранилища:
var produkty = localStorage.getItem("shopping_cart_data");
if(produkty != NULL){
alert(produkty);
}
Код выглядит правильно, но почему-то ничего не происходит. Данные в localStorage точно есть, проверял через консоль браузера. В чем может быть проблема? Может быть дело в синтаксисе проверки условия?
Использую обычный браузер Chrome, никаких ошибок в консоли не показывает. Подскажите пожалуйста, что делаю не так?
Можешь просто писать if(produkty) без сравнения с null. Если в localStorage пусто, getItem вернет null и условие не сработает. Короче и надежнее. Кстати, что именно храниш в shopping_cart_data?
Дело в том, что ты пишешь NULL большими буквами. В JavaScript это null - с маленькой. JS чувствителен к регистру, так что NULL он видит как необъявленную переменную, а не null. Поменяй на if(produkty != null) и заработает. Классика для новичков - сам на этом спотыкался.
А еще проверь кодировку ключа. Выведи в консоль все ключи через console.log(Object.keys(localStorage)) и убедись, что там точно “shopping_cart_data”. Иногда случайно пробелы или другие символы попадают. И да - обязательно null с маленькой буквы. У меня была такая же фигня когда данные с сервера сохранял - оказалось ключ другой был.