Submit Your Site For Free!

Email Address:
* URL:
*
*Indicates Mandatory Field

Terms & Conditions

DevWebProAU
FlashNewz
DevWebPro








An Old School AJAX Call That Just Works

By Mads Kristensen
Expert Author
Article Date: 2007-10-22

Today I was working on a web page that performs an AJAX call on unload, so when a person navigates away from the page, the AJAX call is triggered.

The goal was to register that the visitor navigated away from the page so just a one-way call was needed.

I started out using a simple ASP.NET client callback and it worked - or so I thought.

When the next page on the same website is loaded, a JavaScript error occurred because the __pendingcallback variable was null.

Then I made the callback asynchronous instead of synchronous but it didn't help.

Then a colleague suggested that I should use an ASP.NET AJAX script service call instead. That didn't help.

A JavaScript error still occurred though it was a different one but caused by the same issue.

So I started doing what I should have done from the beginning - do it old school. It's faster, more reliable, uses GET, light weight and completely cross-browser supported.

I created an HttpHandler that took a few URL parameters. I could have used the same page but for this scenario a handler was more appropriate and they are always faster.

Then I added this piece of code in the unload event handler in JavaScript:

<script type="text/javascript">
function UnLoadHandler()
{
var img = new Image();
img.src = "/handler.ashx?id=1234";
}

window.onunload = UnLoadHandler;
</script>


The UnLoadHandler() method performs a GET request to the handler by preloading it into an Image object. This is of course not AJAX according to the definition, but it is asynchronous and uses JavaScript. I guess that makes it AJ.

Comments

About the Author:
Mads Kristensen currently works as a Senior Developer at Traceworks located in Copenhagen, Denmark. Mads graduated from Copenhagen Technical Academy with a multimedia degree in 2003, but has been a professional developer since 2000. His main focus is on ASP.NET but is responsible for Winforms, Windows- and web services in his daily work as well. A true .NET developer with great passion for the simple solution.

http://www.madskristensen.dk/




Newsletter Archive | Article Archive | Submit Article | Advertising Information | About Us | Contact

Dev Web Pro AU is an iEntry, Inc.® publication - 1998-2008 All Rights Reserved Privacy Policy and Legal