Сбой ajaxStart при последующих запросах при использовании getJSON - PullRequest
1 голос
/ 09 сентября 2009

Я пытаюсь использовать события ajaxStart и ajaxStop для вызовов getJson на мой веб-сервер. Событие ajaxStart запускается при первом запросе, но не при последующих запросах. EncID гарантирует, что каждый запрошенный URL является несколько уникальным. Он не работает в Firefox 3.5 или IE 7. В firebug я вижу, что запросы getJSON запускаются и завершаются. Есть идеи?

Вот мои привязки событий ajax.

$('#ajaxLoader').ajaxStart(function(){    
   $(this).show();
}).ajaxStop(function(){
   $(this).hide();
});

Вот мой вызов getJSON.

$.getJSON(location.protocol + '//' + location.host + '/enc-comment/get?format=json&c=?' + '&encId=' + encId,
function(data){
   // change text of a div
});

Если я переключаю вызов getJSON с помощью .ajax GET или POST, все работает нормально.

Ответы [ 3 ]

0 голосов
/ 02 июня 2011

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

Более красивый способ сделать это - просто использовать $ .ajaxSetup ()

$.ajaxSetup({ cache: false });

Это заблокирует кеширование браузера для всех ваших вызовов ajax.

0 голосов
/ 19 февраля 2012

Добавить это утверждение:

$.ajaxPrefilter(function (options){options.global = true;});

Bug Ticket : http://bugs.jquery.com/ticket/8338

Это потому, что вы делаете запрос JSONP.

0 голосов
/ 02 февраля 2011

Попробуйте, передайте еще один дополнительный параметр с вашим URL:

?+"randomParam="+(Math.random() * 1000)
...