Мне нравится процедура Бена Наделя для обработки этого .
По сути, вы создаете оболочку вокруг функции jQuery .ajax, и вы можете встроить все, что происходит для каждого ajaxзапрос в вашем приложении.Одной из таких вещей является отслеживание запросов.
Вы увидите, что в его getJSON
методе-обертке он принимает необязательный параметр "name" для имени запроса.Это может быть что угодно, это просто ключ для определения источника запроса.В вашем случае он будет предоставляться при каждом нажатии ссылки.Если параметр name существует, он сохраняет его в коллекции отслеживания.
Если поступает другой вызов с тем же именем запроса, он просто отбрасывается.Как только исходный запрос возвращается, он очищает флаг отслеживания для этого имени запроса.
Этот метод отлично подходит для расширения многих общих функций на все запросы ajax в вашем приложении.Я создал обработчик множественных запросов, который также позволяет вам определять поведение новых запросов - будет ли оно прерывать любые существующие или просто удаляться.Это полезно, когда вы хотите, чтобы последний запрос был обработан, например, для автозаполнения.