Ajax кэшей jQuery запрашивает в IE даже при том, что кэш: “ложь” установлена

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

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

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

9
задан Chris 6 May 2010 в 15:29
поделиться

2 ответа

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

$.ajax({type: "GET",
  url: "/" + filename,
  dataType: "xml",
  cache: false,
  success: function(xml){
    /* Parsing code here */
  }  
});
22
ответ дан 4 December 2019 в 09:35
поделиться

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

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

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

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

$.getJSON( '/url/', { data: 123, t: (new Date()).getTime() }, function(data) { //делаем что угодно } );

0
ответ дан 4 December 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: