Правильно ли это место использования этого выражения в Jquery? - PullRequest
1 голос
/ 26 октября 2010

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

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

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

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

  1. $. AjaxSetup ({cache: false});
  2. Добавляя время

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

Ответы [ 3 ]

4 голосов
/ 26 октября 2010

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

$.ajaxSetup ({ cache: false});
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){
  //I do all processing with the "data"
});
2 голосов
/ 26 октября 2010

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

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

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

0 голосов
/ 26 октября 2010

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

См. http://articles.sitepoint.com/article/php-anthology-2-5-caching

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...