1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jan 2014
    Rep Power

    Retrieving Information From An API

    Hi there. Firstly, the only reason I've posted this thread in the JS section is cos I genuinely have no idea where it goes, and this makes the most sense to me. Hope I'm right in thinking that. Sorry if it could have been better placed.

    Basically, I need to design and develop a web app which makes use of information from an API. The problem is, I've never worked with one before nor have I ever needed to retrieve information from a server, so I'm overwhelmed just wondering exactly how I'd go about it, and would really appreciate some help in doing so. The only languages I know and have experience with are HTML, CSS and basic JavaScript.

    The API that I intend to retrieve information from is called the LMI For All API, and basically consists of lots of statistics on careers in the UK. The explorer for the API can be found here: api.lmiforall.org.uk/. The problem is, there's no real documentation to go with it, and the only thing that indicates to me how I might go about working with it is located in the FAQ: lmiforall.org.uk/questions-and-answers/. Under the question "What skills would my web developers need to use this?", the answer states:

    The LMIForAll Data API works exactly like many other APIs that are commonly embedded in websites, such as the Google, Twitter or Facebook APIs. Your developers will commonly need knowledge of

    Javascript (+ any libraries your website uses to access and process the APIs, such as jQuery)
    and anything else that your website front end needs to work.

    These are fairly low technical requirements. Note that querying the API is made even simpler by the fact that you cannot change or update the data, so your developers can get by entirely on GET requests.
    Other than that, I've no idea where to start. I've done some searching on GET requests and the like, but what I got made me none the wiser, if not a little perplexed.

    Essentially then, what I'm looking for is an explanation to a total newbie - as detailed as can be, if possible - on retrieving information from a server and how it's done. Specifically, if the following questions could be answered, I'd be a very happy chap:

    • In a case such as this, what would be the best/standard/recommended method to retrieve information from a server?
    • What is a GET request, how does it work, and should I use one in this case? If I should, how do I?
    • If not, what should I use?
    • Is it possible to perform a GET request in JavaScript? During my research I came across something called the Same Origin Policy - will this affect me?
    I understand that I'm asking quite a lot, but as I said, having had no experience with anything of the sort, I'm kinda overwhelmed with what's in front of me, and I really do need to know. Therefore, I'd appreciate the education and anyone willing to educate a newbie.

    Thanks a lot in advance,
  2. #2
  3. A Not To Shabby Code Smurf
    Devshed Beginner (1000 - 1499 posts)

    Join Date
    Aug 2008
    Rep Power
    You need to get the JSON data (of whichever category you want to display) by clicking on the link "Raw". From there..., there's a few ways you can import & display the data.

    • You can use jQuery's $.getJSON() API
    • You can use a server-side language (if your server allows you to use one); like PHP, to scrape the JSON file and add it to a variable. Then you would have an multi-dimensional object; which you can access with the objects keys.
    • You can embed the json with a script tag and then you could use JSON.parse() to access the object and display the data.

    My personal choice, between the 3 ideas, that I mentioned; would be using a server-side language to scrape the JSON feed, add the scrapped data to a variable and give the server-side page a header of "application/javascript" or "application/json" and just iterate through the object, contained in the newly created variable. To me, this is the easiest way; for a few different reasons. Now, this all may sound like Greek to you; but if you would like me to elaborate on this; I can give you a basic code snippet usage of this idea.

IMN logo majestic logo threadwatch logo seochat tools logo