Skip to content

Instantly share code, notes, and snippets.

@Mardiniii
Last active April 30, 2018 05:39
Show Gist options
  • Save Mardiniii/d3c000802d99a26c843442cd2fc6acd8 to your computer and use it in GitHub Desktop.
Save Mardiniii/d3c000802d99a26c843442cd2fc6acd8 to your computer and use it in GitHub Desktop.
Code snippet for medium post
$(document).ready(function() {
function parseResponse(resultsContainer, data) {
console.log(data);
const resultsAmount = data.pages.length
$(resultsContainer).html('');
if (resultsAmount > 0) {
$.each(data.pages, function(index, page) {
appendToResults(resultsContainer, page)
setResultsTitle(resultsAmount + " results found it for: " + data.input, 'green')
});
} else {
setResultsTitle("I'm sorry, I couldn't find something relevant for your search, please try again with a new term", 'red')
}
}
function appendToResults(resultsContainer, page) {
$(resultsContainer).append(
'<div class="row"><div class="col-12"><h4 class="mb-0">' + page.title +
'</h4><a href="' + page.url + '">' + page.url + '</a><p class="mb-0">'
+ page.description + '</p></div></div><hr>'
);
}
function setResultsTitle(title, color) {
$("#resultsTitle").text(title);
$("#resultsTitle").css('color', color);
}
$('#searchForm').submit(function(event) {
event.preventDefault();
const input = $(this).find('#searchInputText').val();
$.ajax({
type: 'GET',
dataType: "json",
url: '/search?input=' + input,
success: function(data) {
parseResponse("#results", data);
},
error: function (error) {
setResultsTitle("There was an error with your search: " + error + ", please try it again!", 'red')
}
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment