Куда возвращается обратный вызов jjery ajax success?
Я написал метод запроса, который выполняет вызов ajax, обнаруживает, предоставил ли я обратный вызов или возвращает датодуду XML-ответа.
Способ запроса:
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];
}
}
});
}
Этот запрос будет использовать обратный вызов
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()
Это пример того, чего я хотел бы достичь
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
Я пытался вернуть саму функцию $.ajax()
... вот так:
function request(request, dontRefresh){
return $.ajax({/*...options...*/);
}
Но это обходит разработанный мной синтаксический анализатор xml и возвращает объект XHR. Я хотел бы использовать этот вид техники для регистрации переменных. Так по существу ...
Я буду использовать этот метод с обратным вызовом или установить для него переменную.