jQuery.Load () не работает правильно в IE9 - PullRequest
0 голосов
/ 13 мая 2011

На главной странице моего сайта jquery.load() имеет значение $(document).ready() и запрашивает URL-адрес, например:

"/ ajax / Listings.aspx? Pageindex = 0"

Когда эта страница запускается, в Page_Load() a ListView связывается с DataSet, который возвращает некоторые продукты для отображения.Если элементов нет, то EmptyDataTemplate отображает что-то вроде:

"В настоящее время нет товаров"

В моей системе должен отображаться 1 продукт.В FireFox это возвращается и отображается на странице правильно.

Однако в Internet Explorer отображается EmptyDataTemplate.Кроме того, если URL-адрес ("/ajax/Listings.aspx?pageindex=0") открывается в браузере IE9 (в виде новой вкладки), то возвращается 1 продукт.

Почему IE9 не связываетсякакие-либо предметы в ListView при использовании jQuery.Load()?

Ответы [ 2 ]

1 голос
/ 27 февраля 2013

Хотя добавление случайных строк в URL работает, лучший способ справиться с этим - отключить кеш:

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

Взято с здесь

1 голос
/ 13 мая 2011

Вскоре после публикации я вернулся, чтобы попытаться выяснить, смогу ли я решить это самостоятельно и поверить, что нашел решение!

Поскольку я открыл страницу ajax на отдельной вкладке,когда я вернулся на домашнюю страницу, это теперь показывалось.

Поэтому я считаю, что это кешируется, и единственный способ обновить кеш - это открыть его в новой вкладке.

Итак, я добавил случайную строку в конец URL, чтобы она не кэшировала страницу каждый раз:

function random_string() { return String((new Date()).getTime()).replace(/\D/gi, '') }

var url = "/ajax/Listings.aspx?pageindex=0&rnd=" + random_string
...