Разница между $.ajax(); и $.ajaxSetup();
В чем разница между $.ajax();
и $.ajaxSetup();
в jQuery:
$.ajax({
cache:false
});
и
$.ajaxSetup({
cache:true
});
Кроме того, какой из них лучше всего подходит?
Ответы
Ответ 1
Ниже будут предотвращены кэширование всех будущих AJAX-запросов независимо от того, какой метод jQuery вы используете ($.get, $.ajax и т.д.)
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
вам следует использовать $.ajax, что позволит вам отключить кеширование для этого экземпляра:
$.ajax({url: "myurl", success: myCallback, cache: false});
Ответ 2
ajaxSetup
устанавливает значения по умолчанию для всех аякс-запросов. После этого вам не нужно выполнять одну и ту же настройку в $.ajax
Все настройки в $.ajax
будут действительны только для этого ajax-вызова.
Ответ 3
Первый отключает кеш для каждого запроса, второй устанавливает его для глобального отключения по умолчанию для всех функций AJAX.
Ответ 4
Чтобы избежать кэширования, один из вариантов заключается в предоставлении другого URL-адреса для одного и того же ресурса или данных. Чтобы создать другой URL-адрес, вы можете добавить строку случайного запроса в конец URL-адреса. Этот метод работает для JQuery, Angular или других запросов ajax другого типа.
myURL = myURL +"?random="+new Date().getTime();
JQuery использует подобный метод с помощью $.ajax({cache:false});
и $.ajaxSetup({cache:false});
$.ajax({cache:false})
применяет метод, на который он включен, $.ajaxSetup({cache:false});
применяет технику для всех функций AJAX.