This lab will get you well-versed in serving data from the server, and changing your page without refreshing the page. They form an important portion of your app. Especially, Assignment 7 includes these tasks!
$.get("http://URL", callBackFn)
$.post("http://URL", {"json":"json"}, callBackFn)
function addProject(result) {
var projectHTML = '<a href="#" class="thumbnail">' +
'<img src="' + result['image'] + '" class="img">' +
'<p>' + result['title'] + '</p>' +
'<p><small>' + result['date'] +
'</small></p></a>';
}
I get a blank page!
Make sure node is running (see previous slide).
Wait what's the callback?
Check back on slide 13 and 14. The callback will be called once your $.get(<URL>, <callback>);
inside the addProjectDetails
completes, and will have the result of the GET
passed in. If you're extra curious it's the success parameter mentioned in the jquery.get documentation.
I'm having trouble figuring out how to select the right div!
Try looking at lab 3 slide 21 for selecting the correct element based on the id. Once you've done that, you're one step away.
I'm still having problems picking the details class out for the specific project id!
Yes this is an interesting selector puzzle! You can use selectors to select a hierarchy like so: slide 22-Selectors:space indicate hierarchy or jQuery: Descendant Selector. If you want more practice with selectors, have fun with this game: CSS Diner.
Wait, wait! Where do I get the ID from?
Ah... another thinker! Without giving too much away, take a look at what is inside the result
variable.
$('body').css('background-color', colors[0]);
$('.thumbnail').css('background-color', colors[1]);
$('h1, h2, h3, h4, h5, h5').css('color', colors[2]);
$('p').css('color', colors[3]);
$('.project img').css('opacity', .75);
git status
git add ...
git commit -m "putting it together lab"
git push
heroku create newapplicationname
git push heroku master
Integrate AJAX requests to at least one relevant external API into your portfolio
$.get('http://foobar.com', callbackFunction, 'jsonp')