The way you are using the jquery ajax call is technically correct. One suggestions I would make is to not build the data string manually as you have. You can pass an object literal to the data parameter and let jquery do the string conversion for you. This has the added benefit of letting jquery perform proper escaping which can sometimes mess with an XMLHttpRequest
Other than that, I would recommend using firebug's console.trace() command to see if you are actually making two .ajax calls and why. There is a 'beforeSend' listener that you could set in your ajaxSetup - might be a good place to put it.