У меня есть функция AJAX внутри файла javascript, и я хочу, чтобы она была абстрактной и не использовала глобальные переменные.
AJAX вставляет событие в базу данных:
function insertCalendarEvents(calendar_group, event_name, event_datestart, event_datestop, event_timestart, event_timestop, event_info, onFinish) {
var request;
if(window.XMLHttpRequest)
request = new XMLHttpRequest();
else
request = new ActiveXObject("Microsoft.XMLHTTP");
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
if(request.responseText.substr(0, 6) == "error ")
alert(errorName[request.responseText.substr(6)]);
else {
var event_id = request.responseText;
//call onFinish function with parameter event_id which database assigned it
}
}
}
request.open("GET", "php/calendar.php?action=insertCalendarEvents&calendar_group=" + calendar_group + "&event_name=" + event_name + "&event_datestart=" + event_datestart + "&event_datestop=" + event_datestop + "&event_timestart=" + event_timestart + "&event_timestop=" + event_timestop + "&event_info=" + event_info, true);
request.send();
}
Функция асинхронная, поэтому я хочу, чтобы в момент завершения вставки данных в базу данных я хотелчтобы выполнить функцию, которую я дам в качестве параметра.
Если есть лучшая идея о том, как это сделать, я был бы очень рад это услышать:)
Спасибозаранее, Даниэль!