Проблема обновления страницы AngularJS и IE9

Мое одностраничное приложение angularjs, похоже, отлично работает в IE9+, пока вы не отредактируете объект и не перезагрузите страницу. Если вы измените поле (измените имя с «Вы» на «Я»), затем нажмите «Сохранить», сервер получит обновление и обновит базу данных. Если вы затем обновите страницу, поле будет иметь исходное значение (Имя — «Вы»). Обновление страницы не вызывает $routeProvider и не обращается к серверу.

Ничего из этого не происходит в Chrome, Firefox, Safari или их мобильных аналогах.


person Andrew Boes    schedule 26.09.2013    source источник
comment
Может быть, IE кеширует ответ с сервера? Если это так, попробуйте установить заголовки No-Cache на стороне сервера.   -  person PrimosK    schedule 27.09.2013
comment
У нас была именно эта проблема со службой JSON в нашем угловом приложении. Установка заголовка кэша на стороне сервера — хорошая идея. Если вы не контролируете эту часть, вы можете добавить что-нибудь в $resource или $http.. (http config имеет свойство cache: false, которое вы можете использовать)   -  person Lucas Holt    schedule 27.09.2013
comment
@PrimosK Это сделало это. Я не уверен, что это хорошее долгосрочное решение. Хорошая новость заключается в том, что браузер по-прежнему кэширует файлы сценариев.   -  person Andrew Boes    schedule 25.10.2013


Ответы (2)


Одна из самых больших проблем с IE заключается в том, что он не обрабатывает console.log, если консоль не открыта, и сломает почти все. Не уверен, что это ваша проблема, но всегда полезно проверить.

person Ty Danielson    schedule 26.09.2013

Моя серверная часть представляет собой приложение ASP.Net MVC, поэтому я отключил кеширование.

Установите атрибут OutputCache для всего контроллера или определенных действий.

    [OutputCache(Location = OutputCacheLocation.None)]
    public class HomeController : Controller
    {  
        //All actions in here won't be cached.
    }

Использовал ответ @KCD на этот вопрос:

Как добавить заголовки без кеша для всего сайта в приложение MVC 3

person Andrew Boes    schedule 24.10.2013