Другой общий случай, когда можно получить это исключение, включает в себя насмешливые классы во время модульного тестирования. Независимо от используемой насмешливой структуры, вы должны убедиться, что все соответствующие уровни иерархии классов должным образом высмеиваются. В частности, все свойства HttpContext
, на которые ссылается тестируемый код, должны быть изделены.
См. « Исключение NullReferenceException при проверке пользовательского AuthorizationAttribute » для несколько подробного примера.
Добавьте строку запроса к URL-адресу, который вы отправляете.
. если запрос Ajax отправлен на « http://www.xyz.com/a », затем добавьте случайную строку в конец: « http://www.xyz.com/ стоит? д = 39058459ieutm39 "
с помощью jQuery вы можете установить глобальный параметр ajax: {cache: false}. См. Его в jquery ajax docs
Есть два метода для этого, о которых я знаю.
Случайный URL-адрес работает, но это своего рода хак. У HTTP есть встроенные решения, которые должны работать. Попробуйте использовать указанное здесь решение . В принципе, установите заголовки:
"Pragma": "no-cache",
"Cache-Control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
"Expires": 0,
"Last-Modified": new Date(0), // January 1, 1970
"If-Modified-Since": new Date(0)
request header field pragma is not allowed by "access-control-allow-headers"
. Любая идея, как этого избежать? Посмотрите: stackoverflow.com/questions/23048184/…
– Luis A. Florit
14 April 2014 в 01:15
new Date(0)
, где запрос не удался, потому что дата указана в недопустимом формате для русского пользователя. Поэтому лучше напишите какую-нибудь дату себе как: "Wed, 21 Oct 1970 07:28:00 GMT"
вместо использования new Date(0)
– chitzui
26 February 2018 в 15:49
Я использовал метод jQuery {cache: false}, и он работал как шарм.
Полный пример кода выглядит так:
$.ajaxSetup({cache: false});