Как перередать responseXML в ф-цию?
Здравствуйте! Помогите разобраться..
Вот код:
var respXml = 1;
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
...
}
function ajax ( params , serverAddress )
{
if (xmlHttp)
{
try
{
if ((xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
{
xmlHttp.open("POST", serverAddress , true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send ( params);
}
}
catch (e)
{
displayError("search error: "+e.toString());
}
}
}
function handleRequestStateChange()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
respXml = xmlHttp.responseXml;
}
else
{
displayError("handleRequestStateChange error: "+xmlHttp.statusText);
}
}
}
Вопрос - как перередать значение respXml в функцию для последующей обработки. Через return или глобальную переменную. Последняя почему-то не изменяется. Почему? Тогда весь код выше можно было бы записать в отдельный файл, он был бы универсальным, подключался при необходимости во всех случаях. Хотется получить примерто это:
var xml = ajax ( params , serverAddress );
или var xml = respXml;
//обработка xml
Вариант написать в
handleRequestStateChange()
..
respXml = xmlHttp.responseXml;
response(respXml);
Не подходит, потому что для разных запросов должны быть и разные обработчики..
Спасибо.
|