Ostatnio opracowałem projekt, w którym wysyłałem wiele żądań ajaxowych na jednej stronie aspx. Wprowadziłem również zegar, gdy ta prośba ma miejsce w odstępie 5 sekund. Wszystko wydaje się działać dobrze, aż nagle odpowiedzi mieszają się. Wiem, że mogę zrobić to samo z jedną prośbą, ale zastanawiam się, dlaczego tak się dzieje. Rozejrzałem się po internecie, ale nie mogę jeszcze znaleźć rozwiązania. Teraz faktycznie zaadoptowałem ten styl kodowania, jak na przykład złożenie jednej prośby z wieloma wynikami, ale zastanawiam się i naprawdę chcę wiedzieć, jak zrobić wiele zapytań ajaxowych, których odpowiedzi nie będą mieszać. To jest mój przykładowy kod:Kilka żądań Ajax w tym samym czasie
$(document).ready(function() {
var a = setInterval("request1()", 5000);
var b = setInterval("request2()", 5000);
});
function request1() {
$.ajax({
url: 'ajaxhandler.aspx?method=method1' ,
beforeSend: function (xhr) {
xhr.overrideMimeType('text/plain; charset=utf-8');
},
success: function (data) {
alert(data);
}
});
}
function request2() {
$.ajax({
url: 'ajaxhandler.aspx?method=method2' ,
beforeSend: function (xhr) {
xhr.overrideMimeType('text/plain; charset=utf-8');
},
success: function (data) {
alert(data);
}
});
}
Zmieszany? W środowisku asynchronicznym nie można zagwarantować, które połączenie zostanie wcześniej odebrane. – Joe