Предположим, у нас есть три (или сто) идентичных функций AJAX:
<script type="text/javascript">
function vote1(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("voting1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
}
function vote2(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("voting2").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
}
function vote3(url)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("voting3").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
}
</script>
И у нас есть три (или сто) идентичных кнопки в цикле foreach:
<div id="voting1">
<form><input type="button" onclick="vote1('votes.php?parameter1')" value="vote">
</form></div>
<div id="voting2">
<form><input type="button" onclick="vote2('votes.php?parameter2')" value="vote">
</form></div>
<div id="voting3">
<form><input type="button" onclick="vote3('votes.php?parameter3')" value="vote">
</form></div>
Причинаесть отдельная функция для каждой кнопки, это разные выходные данные для каждой кнопки, основанные на различном параметре string_ID для ex. Вопрос в том, как объединить все функции AJAX в одну функцию AJAX, имея в виду, что кнопки находятся в цикле foreach.