Это то, что у меня есть, и оно работает примерно в 80% случаев, но каждый раз в то время как он сбой. Можно ли их лучше комбинировать? или, по крайней мере, проверить, что оба они вернули действительный результат перед отображением. Я попытался установить две отдельные функции и запустить их в тандеме, и по какой-то причине это не сработало. Я хотел бы избежать jQuery, если это возможно. БлагодаряОбъединить два AJAX без jQuery
function doit(str){
var color = document.getElementById('button').value;
if (str == "") {
document.getElementById("Div1").innerHTML = "";
document.getElementById("Div2").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
ajaxRequest = new XMLHttpRequest();
ajaxRequesttwo = new XMLHttpRequest();
} else {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
ajaxRequesttwo = new ActiveXObject("Microsoft.XMLHTTP");
}
ajaxRequest.onreadystatechange = function() {
if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
document.getElementById("Div1").innerHTML = ajaxRequesttwo.responseText;
document.getElementById("Div2").innerHTML = ajaxRequest.responseText;
}
}
ajaxRequesttwo.open("GET","ajax/page1.php?r="+str+"&c="+color,true);
ajaxRequest.open("GET","ajax/page2.php?q="+str,true);
ajaxRequesttwo.send();
ajaxRequest.send();
}
}
Спасибо, что это сработало хорошо. Я отредактировал два) из}); поскольку они были, вероятно, оставлены. Остальная часть того, что вы говорите, намного выше моей головы ... надеюсь, кто-то это понимает. – jay
Какую часть вы не поняли? Все, что я говорю, вам не нужно делать: ActiveXObject («Microsoft.XMLHTTP») - вместо этого используйте polyfill. И для обещаний второго варианта, игнорируйте, если вы не знакомы. – light