2015-04-06 2 views
4

Я пытался обновить мои кендо сетки после выполнения обновления данных, используя следующий фрагмент кода в обработчике успеха моего AJAX вызова:Кендо Сетка DataSource обновление не работает в IE

$("#grid").data("kendoGrid").dataSource.read(); 
$("#grid").data("kendoGrid").refresh(); 

Ну, это обновляется и работает отлично, как и ожидалось в Mozilla и Chrome, но в IE обновление не работает, и обновление данных не обновляется. Нужно ли мне вносить какие-либо изменения в мой код, чтобы заставить его работать в Internet Explorer?

PS: Мне даже пришлось опробовать $ ("# grid") данные ("kendoGrid"). DataSource.sync(); который тоже не работал.

+0

Вы исследуете консоль отладки, возможно, что-то бросает ошибку и разрезает javascript кендо. –

+0

Ну, я попробовал это. В консоли нет ошибок, и самая забавная часть заключается в том, что когда я пытаюсь запустить кусок из консоли напрямую (например, $ («# grid»). Data («kendoGrid»). DataSource .read()) он обновляет данные сетки, как ожидалось. Дело не в том, что обработчик успеха вообще не выполняется, остальная часть кода, как указано в обработчике, выполняет и дает результаты, как ожидалось. –

ответ

3

Спасибо за ответ knikolov. Хорошо, проблема заключалась в том, что результат был кэширован, как вы сказали (я использовал IE10 infact). Удалось решить проблему, указав «cache: false» в транспортном элементе источника данных.

transport: { 
    read: { 
     url: "xyz.svc/ab", 
     cache: false 
    } 
} 
+0

Вы, ребята, спасли мне жизнь) –

2

Я думаю, вы используете старый браузер IE, и проблема, с которой вы сталкиваетесь, связана с кешированием. Эта нить показывает, как иметь дело с кэшированием в IE:

Prevent caching of pages in Internet Explorer 8

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