Mam jeden div.Jak obsługiwać powolną odpowiedź ajax na dzielenie div przez wiele funkcji
<div id="test"></div>
Posiadanie kilku funkcji.
fun1()
{
$('#test').html('');
$.ajax(function(){
url : abc/index;
success : function(response){
$('#test').html(response);
}
});
}
fun2()
{
$('#test').html('');
$.ajax(function(){
url : abc/getDetail;
success : function(response){
$('#test').html(response);
}
});
}
fun3()
{
$('#test').html('');
$.ajax(function(){
url : abc/getUser;
success : function(response){
$('#test').html(response);
}
});
}
Funkcja uzyskać połączenie na inny przycisk kliknij.
btn1.click(fun1())
btn2.click(fun2())
btn3.click(fun3())
Kiedy btn1, btn2, btn3 naciśnij natychmiast jeden po drugim, widzę div „test” zawierają jako pierwszy „” fun1 odpowiedzi po pewnym czasie „fun2” reakcji i tak dalej.
Znam przyczynę, ponieważ moja odpowiedź ajax jest bardzo powolna, dlatego tak się dzieje.
Kiedy ktoś kliknie na btn1 i zanim otrzyma odpowiedź fun1, naciśnij btn2. W tym przypadku chcę tylko załadować odpowiedź fun2. Jeśli fun2 robi opóźnienie, chce pokazać pustą stronę.
Myślałem o zabiciu pozostałej prośby o ajax, po naciśnięciu przycisku. Ale w tym samym czasie moje inne prośby o ajax również się sprawdzają, nie chcę ich zabijać. Więc zabijanie innych żądań ajaxowych nie będzie działać dla mnie. Jakie będzie inne rozwiązanie.
Więc jest problem powolne żądania ajax lub interakcje między tymi różnymi przyciskami, które wydają się wszystko wypełnić dane w tym samym elemencie? –
@Mike Brant: powolna odpowiedź ajax. –
Cóż, nawet o tym nie mówiliście. Dlaczego reakcja jest wolna? Czy odpowiedź jest zbyt duża? Czy serwer na zapleczu zbyt wolno obsługuje odpowiedź (tzn. Kod jest źle napisany, dostęp do bazy danych jest powolny itp.).Ale jeśli naprawdę chcesz się zastanowić, jak poprawić szybkość reakcji, musisz podać szczegóły dotyczące tego, gdzie spędza się czas. –