It's Labor Day in the US, where we celebrate the workers of the world by having a barbecue. Speaking of work, in these days of web frameworks and miles of unnecessary JavaScript to do basic things on the web, let's look back at a simpler time, where we still used server-side code and miles of unnecessary JavaScript to do basic things on the web. Original. --Remy
For those of you who haven't upgraded to Web 2.0 yet, today's submission from Daniel is a perfect example of what you're missing out on. Since the beginning of the Web (the "1.0 days"), website owners have always wanted to know who was visiting their website, how often, and when. Back then, this was accomplished by recording each website "hit" in a log file and running a report on the log later.
But the problem with this method in Web 2.0 is that people don't use logs anymore; they use blogs, and everyone knows that blogs are a pretty stupid way of tracking web traffic. Fortunately, Daniel's colleagues developed an elegant, clever, and -- most importantly -- "AJAX" way of solving this problem. Instead of being coded in HTML pages, all hyperlinks are assigned a numeric identifier and kept in a database table. This identifier is then used on the HTML pages within an anchor tag:
<a href="Javascript: followLink(124);">View Products</a>
When the user clicks on the hyperlink, the followLink() Javascript function is executed and the following occur:
- a translucent layer (DIV) is placed over the entire page, causing it to appear "grayed out", and ...
- a "please wait" layer is placed on top of that, with an animated pendulum swinging back and forth, then ...
- the XmlHttpRequest object is used to call the "GetHyperlink" web service which, in turn ...
- opens a connection to the database server to ...
- log the request in the RequestedHyperlinks table and ...
- retrieves the URL from the Hyperlinks table, then ...
- returns it to the client script, which then ...
- sets the window.location property to the URL retrieved, which causes ...
- the user to be redirected to the appropriate page
Now that's two-point-ohey.