***Where does the jquery ajax success callback return to?***

---

I have written a request method that makes an ajax call, detects if I have supplied a callback or returns the datanode of the response XML.

Request Method:

```
function request(request, dontRefresh)
{     
   var requestXML = composeRequestXML(request); 
   $.ajax({
      url: 'someProcessor.php',
      type: 'POST',
      cache: false,
      async: dontRefresh,
      timeout: 5000,
      data: "query="+requestXML,
      success: function(response)
      {
         //parses xml into a js object
         var responseObj = parseResponseXML(response);

         if(request.callback){
            request.callback(responseObj);
         } else {
            // responseObj.response[0].data[0] is the data 
            // node of the response Obj.
            // this is what i see being the problem - 
            // I DON'T KNOW WHERE THIS IS RETURNED TO!!
            return responseObj.response[0].data[0];
         }
      }
   });
}

```

This request would use the callback
-----------------------------------

```
var requestObj = new Object();
    requestObj.callback = function(responseObj){someCallbackFunction(responseObj);};
    requestObj[0] = new Object();
    requestObj[0].module = "someModule";
    requestObj[0].action = "someModuleMethod";
request(requestObj);
//results are returned to the function someCallbackFunction()

```

This is an example of what i'd like to accomplish
-------------------------------------------------

```
var requestObj = new Object();
    requestObj[0] = new Object();
    requestObj[0].module = "userManager";
    requestObj[0].action = "GET_USERID";

var userId = request(requestObj, false); //make the request asynchronous

```

I've tried returning the `$.ajax()` function itself... like so:

```
function request(request, dontRefresh){
   return $.ajax({/*...options...*/);
}

```

But this bypasses the xml parser I have developed and returns the XHR object. I would like to use this kind of technique to register variables. So essentially...

I will be using this method with a callback or setting a variable with it.