Why this does not work ?
if(typeof(localStorage.getItem("username"))=='undefined'){
alert('no');
};
The goal is to redirect the user from the index page to the login page if not already logged.
Here the localStorage.getItem("username"))
variable is not defined for the moment.
It's for an ios phonegap app.
This question is related to
javascript
html
cordova
local-storage
Update:
if (localStorage.hasOwnProperty("username")) {
//
}
Another way, relevant when value is not expected to be empty string, null or any other falsy value:
if (localStorage["username"]) {
//
}
This method worked for me:
if ("username" in localStorage) {
alert('yes');
} else {
alert('no');
}
The MDN documentation shows how the getItem
method is implementated:
Object.defineProperty(oStorage, "getItem", {
value: function (sKey) { return sKey ? this[sKey] : null; },
writable: false,
configurable: false,
enumerable: false
});
If the value isn't set, it returns null
. You are testing to see if it is undefined
. Check to see if it is null
instead.
if(localStorage.getItem("username") === null){
Source: Stackoverflow.com