0
Я использую следующий код для рекурсивного вызова через ajax.Рекурсивный вызов через ajax
function ajax_pay(i)
{
var opt=document.getElementById("fpayee").options;
payid=opt[i].value;
alert(i);
if(payid==""){return;}
alert(payid);
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("hint").innerHTML=i;
i++;
ajax_pay(i);
}
}
xmlhttp.open("GET","closeup.php?pid="+payid,true);
xmlhttp.send();
}
здесь fpayee это выпадающий и я инициализация рекурсии через ajax_pay (0);
Но проблема в том, что он работает только один раз. , пожалуйста, помогите;
Появляются ли ошибки? Попробуйте отлаживать и проверять значение i, которое вы отправляете или проверяете на вкладке сети, является ответом, даже приходящим на следующий вызов для выполнения – Fyre
нет .. просто ничего –
Смотрите объявления переменных. 'xmlhttp' и' payid' объявляются в глобальной области. Вызов этой функции рекурсивно перезапишет эти значения и смущает код. –