JQuery кеширует AJAX-запрос в IE, даже если кеш: false - PullRequest
9 голосов
/ 06 мая 2010

У меня есть следующий код

$.ajax({type: "GET",
  url: "/" + filename,
  dataType: "xml",
  cache: "false",
  success: function(xml)
{
    /* Parsing code here */
}});

В Chrome и т. Д. Запросы не кэшируются, но в IE. Я правильно строю свой запрос?

Ответы [ 2 ]

22 голосов
/ 06 мая 2010

cache должно быть логическим, а не строкой:

$.ajax({type: "GET",
  url: "/" + filename,
  dataType: "xml",
  cache: false,
  success: function(xml){
    /* Parsing code here */
  }  
});
0 голосов
/ 06 мая 2010

Возможно, это mimetype файла xml, который вы возвращаете? http://www.nerdydork.com/ie-json-caching-bug.html

Один комментатор в моем блоге предложил добавить строку времени к запросу json:

Я не собираюсь доверять настройке отключить кеш в .ajaxSetup….

Так что просто добавьте строку времени в конце каждого запроса json, например

$. GetJSON (‘/ url /’, {data: 123, t: (новая дата ()). getTime ()}, function (data) {// делать что угодно});

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