2010-10-25 1 views
1

Это утверждение, которое я referering ниже код $.ajaxSetup ({ cache: false});Это правильное место, используя эту инструкцию в Jquery

У меня есть PHP скрипт, который производит JSON. Я потребляя этот JSON с помощью:

 $.getJSON ("GetDetails.php?id=123", 
      $("#formname").serialize(), 
      function(data){ 
       **$.ajaxSetup ({ cache: false});** 
      //I do all processing with the "data" 
      }); 

Я видел различные вопросы для кэширования в переполнение стека, я знаю, что это также удаляет кэширование

  1. $ .ajaxSetup ({кэш ложь});
  2. Добавляя Время

Существуют ли какие-либо методы для преодоления кэша. Когда я использую это, он все еще кэшируется. Я использовал тот же оператор в $.documnet.ready(), но не использовал.

ответ

4

Это $.ajaxSetup() вызов идет , прежде чем вашего использования методов AJAX, которые вы хотите быть затронуты этим (нужно просто запустить его один раз, а не перед каждым вызовом), как это:

$.ajaxSetup ({ cache: false}); 
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){ 
    //I do all processing with the "data" 
}); 
2

Вместо этого, вы можете использовать:

$.ajax({ 
    url: "GetDetails.php?id=123", 
    dataType: 'json', 
    data: $("#formname").serialize(), 
    cache: false, 
    success: function(data){ 
       //I do all processing with the "data" 
      }); 
}); 

Это отключит кэш для этого конкретного запроса , поэтому вы можете использовать обычную версию с кешем .ajax для других запросов. Если вы хотите отключить кеш во всем приложении, вы можете использовать решение Ника.

Смежные вопросы