Local Storage: Cache Ajax Data

Local Storage: Cache Ajax Data in Browsers Local Storage for faster results after the first load.

by Nirvanachain

JavaScript

if ( localStorage && localStorage.getItem('myGithub') ) {
    console.log('if statement');
    console.log( JSON.parse( localStorage.getItem( 'myGithub') ) );
    render( JSON.parse( localStorage.getItem( 'myGithub') ) );
}
else {
    console.log('else statment');
    $.ajax({
        url : 'https://api.github.com/users/matthewdordal',
        dataType : 'json',
        success : function (data) {
            if ( localStorage ) {
                localStorage.setItem( 'myGithub', JSON.stringify(data) );    
            }
            console.log(data);
            render(data);
        }
    });
}

//Render method for printing the results to the <body> element.
//Returns html from the ajax call or from localStorage.
function render (myObjx) {
    var results = '';
    
    for (var prop in myObjx) {
        results += '<p>data.' + prop + ' = ' + myObjx[prop] + '</p>';  
    }
    
    var printData = $('body').html(results);
    return printData;
};