Название этого вопроса не очень понятно, но я не могу объяснить, что я спрашиваю, не предоставив некоторый код.
Я делаю страницу, которая представляет отчеты (которые являются массивами), используя AJAX. У меня есть функции, хранящиеся в библиотеке, которые отправляют массив на страницу PHP, которая выглядит следующим образом:
function saveReport(params)
{
var url="reports/save.php";
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
return false;
}
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
//Send the proper header information along with the request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
if (xmlHttp.responseText == 'complete')
{
return true;
}
else
{
return false;
}
}
}
(я не верю, что функция GetXmlHttpObject () имеет отношение к вопросу)
Я хотел бы иметь возможность вызывать saveReport () со своей страницы следующим образом
success = saveReport(params);
if (success == true)
{
alert('success');
}
else
{
alert('failure');
}
Таким образом, функция saveReport () должна возвращать значение, которое возвращается из функции stateChanged () при ее вызове, чтобы страница, которая вызвала saveReport (), могла затем решить, что делать - что может отличаться в разных страницы. Есть ли способ сделать это?
Я понимаю, что это может быть невозможно, как я пытаюсь, но есть ли что-то, что я могу сделать с таким же эффектом.