Я работаю над автоматическим полным полем поиска, которое ищет базу данных и возвращает пользователей, которые связаны с поиском. Я использую jquery ajax для этого. После того, как keyup
на элементе ввода произошел, я отправляю запрос ajax в `/ ajax/search/url как показано ниже:Как предотвратить отправку запроса ajax при обработке другого запроса ajax?
$("#search").keyup(function(){
$(".itemSearch").remove();
$(".notfound").hide();
$("#searchResultSection").height("70px");
if(!$("#search").val()){
$("#searchResultSection").slideUp();
$(".ajaxLogoSearch").hide();
$(".notfound").hide();
}
else{
var data = {
query: $("#search").val()
};
$("#searchResultSection").slideDown();
$(".ajaxLogoSearch").show();
$.ajax({
url: '/ajax/search',
data: data,
dataType:'json',
success:function(result){
if(result.found==0){
$(".ajaxLogoSearch").hide();
$(".notfound").show();
}
else{
var searchResult = $("#searchResultSection");
$(".ajaxLogoSearch").hide();
searchResult.css({"height":20});
for(var i=0;i<result.users.length;i++){
var content = '<div class="itemSearch">\
<img src="../../static/social/images/defaultMaleImage.png" height="50px">\
<p>'+ result.users[i].firstname+ ' '+ result.users[i].lastname +'</p>\
</div>'
if(searchResult.height() < 370){
searchResult.height("+=70px");
}
$("#innerSearch").append(content);
}
$(".itemSearch").hover(function(){
$(this).css({"background":"rgb(55, 108, 221)"});
},function(){
$(this).css({"background":"#658be6"});
});
}
}
});
}
})
Моя проблема когда я печатаю 2 письма сразу запрос 2 Аякса посланного, и я вижу результат поиска дважды результаты поиска box.I хочет способ предотвратить, чтобы отправить запрос в то время как 2-е АЯКСА первого не является полностью. Как я могу это сделать?
EDIT: Наконец-то я нашел решение на сайте codeproject благодаря вашим ответам. this is thte link of the solution
Какую версию JQuery вы используете, и вы используете любую блесну или анимацию то время как AJAX запрос? –
@MinaGabriel моя версия jquery 2.0.3, и я использую spinner в моем коде '$ (". AjaxLogoSearch "). Show();' – mojibuntu
Похоже, вы добавляете к результатам поиска, когда вы должны их заменять , –