Разница между $.Аякс и.$ метода ajaxsetup();
В чем разница между $.ajax();
и $.ajaxSetup();
в jQuery, как в:
$.ajax({
cache:false
});
и
$.ajaxSetup({
cache:true
});
кроме того, какой из них является лучшим вариантом?
5 ответов:
следующее предотвратит все будущие запросы AJAX от кэширования, независимо от того, какой метод jQuery вы используете ($.получить.$ ,Аякс и др.)
$(document).ready(function() { $.ajaxSetup({ cache: false }); });
вы должны использовать $.ajax, который позволит Вам отключить кэширование для этого например:
$.ajax({url: "myurl", success: myCallback, cache: false});
ajaxSetup
устанавливает значения по умолчанию для всех запросов ajax. После этого вам не нужно делать ту же настройку в$.ajax
все настройки в
$.ajax
будет действителен только для этого вызова ajax.
первый отключает кэш на основе каждого запроса, второй устанавливает его для глобального отключения по умолчанию для всех функций AJAX.
чтобы избежать кэширования, один из вариантов-дать другой 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.
кроме того, какой из них является лучшим вариантом?
по данным jQuery api documentation, используя
$.ajaxSetup()
Не рекомендуется:Примечание: настройки, указанные здесь, повлияют на все вызовы
$.ajax
или производные на основе Ajax, такие как$.get()
. Это может вызвать нежелательное поведение, так как другие абоненты (например, плагины) могут ожидать обычных настроек по умолчанию. По этой причине мы настоятельно рекомендуем не использовать этот API. Вместо этого установите параметры явно в вызове или определите простой плагин для этого.