I am developing a web app that accesses some external JSON data. I’m currently using jQuery’s getJSON to get the data and call the callback.
My internet at home is terrible, so I’m regularly not connected. I am looking for a way to develop this app while disconnected from the internet.
My initial thought was to have an OFFLINE variable that I set, which changes the location of the scripts to a local file, but because jQuery’s getJSON uses dynamically named functions for callbacks, it would need some server intelligence.
More info on how getJSON callbacks work here: http://docs.jquery.com/Ajax/jQuery.getJSON
I’m sure there’s an easier way. Any suggestions?
** Edit **
Let me try and clarify a bit
I’m currently running a local web server. I have to – script tags can’t reference a local file, for security reasons.
I’m currently calling getJSON with the url: http://twitter.com/status/user_timeline/user.json?callback=?
If I downloaded that json response and hosted it on the local webserver, it wouldn’t work, because the callback name will change every time, yet the feed will have the function name it was originally fetched with.
I used a local sinatra webserver, and replaced the hosts in my /etc/hosts file. It’s nice because it’s super easy to define new services.
I often forget to reset my hosts file, which can cause a lot of frustration, so I created a script to wrap the whole thing as well.
Here’s an example that will serve up a twitter user feed.
run.sh
offline_hosts
server.rb