У меня есть один div.Как обрабатывать медленный отклик ajax на разделение div несколькими функциями
<div id="test"></div>
Несколько функций.
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);
}
});
}
Функция получить звонок на другой щелчок на кнопке.
btn1.click(fun1())
btn2.click(fun2())
btn3.click(fun3())
Когда btn1, btn2, btn3 пресса сразу один за другим, я могу видеть Div «тест» содержат в качестве первого ответа «FUN1» через некоторое время «fun2» ответа и так далее.
Я знаю причину, так как мой ответ аякса очень медленный, поэтому это происходит.
Когда кто-то нажимает на btn1 и перед тем как получить ответ fun1, нажмите btn2. В этом случае я просто хочу загрузить fun2-ответ. Если fun2 делает задержку, хотите показать пустую страницу.
Я думал об убийстве оставшегося запроса ajax, при нажатии кнопки. Но в то же время мой другой запрос ajax также идет, я не хочу их убивать. Так что убийство другого запроса ajax не будет работать для меня. Каким будет другое решение.
Так проблема запрос медленно Аякса или взаимодействия между этими различными кнопками, которые, как представляется, все заселить данные в тот же элемент? –
@Mike Brant: медленная реакция ajax. –
Ну, вы даже не говорили об этом здесь. Почему реакция медленная? Является ли реакция слишком большой? Является ли сервер на бэкэнде слишком медленным в обслуживании ответа (то есть, возможно, код плохо написан, доступ к базе данных медленный и т. Д.).Но если вы действительно пытаетесь получить некоторые мысли о том, как улучшить скорость ответа, вам нужно будет указать, где будет потрачено время. –