MVC 3 Ajax запросы накапливаются - PullRequest
0 голосов
/ 27 октября 2011

У меня есть следующий код:

$('.defaultLink').click(function () {
        $.ajaxSetup({ cache: false });
        cleardiv();
        $('#mainContent').empty()
        $('#mainContent').load(this.href).val();
        return false;
    });

Это для загрузки частичного представления в div.Проблема в том, что запросы GET, которые я вижу в firebug, похоже, накапливаются. Сначала есть один, затем, когда я снова нажимаю theres 2, 4, 8 и т. Д.чтобы очистить div, который загружается, но он не работает, любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 27 октября 2011

Вы говорите, что каждый раз, когда вы нажимаете, количество событий фактически удваивается? Если это так, возможно ли, что ваш код определения клика (показанный в вашем вопросе) выполняется несколько раз? Сделайте перерыв в Firebug и посмотрите. Кроме того, поставьте точку останова на код сервера, чтобы убедиться, что на самом деле поступает несколько запросов.

Ваша функция cleardiv () очищает mainContent? Это было бы излишним, если у вас уже есть empty (). Фактически, load () также должна заменить содержимое.

0 голосов
/ 27 октября 2011

Лично я предпочитаю контролировать кеширование на сервере.Вы можете украсить свое действие / контроллер следующим образом:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]

Чтобы предотвратить кеширование.

Также я уверен, что '.val ()' не нужен после '.load ()«хотя не могу точно сказать, вызывало ли это повторяющиеся запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...