Help with JSON from API

I’m having some trouble retrieving a random quote from an API for my random quote generator. Could anybody point out what I’m doing wrong or provide any tips? Should I be using a different API?

I’m using this API: https://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en

Here’s a link to my test CodePen: https://codepen.io/gabrielbruce/pen/qjXPzg

Here’s the pasted code (from a button press)

$(document).ready(function() {
$("#new-quote").on(“click”, function(){
$.getJSON(“https://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en”, function(json) {
$(“div”).html(json.quoteText);
});
});
});

If you check the browser console, you have a CORS error (you can google the error in the console for more info).

I usually solve it by adding ?callback=? at the end of the API URL. But it seems for this API, you have to do it like this https://api.forismatic.com/api/1.0/?method=getQuote&lang=en&format=jsonp&jsonp=?, which should achieve the same result as callback=? (which converts the request to jsonp).

Thank you so much!

I was starting to get a bit frustrated because it seemed like I had everything right. Now I’m off to read up on JSONP. Is this covered further in FCC?

20 internet points for you!

1 Like

No.

When something goes wrong, be sure to check the browser console and google any errors you see.