Второй звонок Аяксу всегда получает первый результат - PullRequest
0 голосов
/ 04 июня 2009

I Используя этот код

<script type="text/javascript">
$(function() {
    $('#DoTask').click(function(event) {
        event.preventDefault(); // added this
        $.getJSON('/TareasBackGround/DoTaskInteractivo', null,
                function(response) {
                    $('#ResultadoEjecutarTarea').html("<br />Resutado:" + response.result);
                    $('#ResultadoEjecutarTarea').css("style", "");


                });
    });
});

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

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 04 июня 2009

Добавить это:

$.ajaxSetup ({cache: false});

прямо над событием клика. Это должно предотвратить кэширование запроса ajax.

1 голос
/ 04 июня 2009

Ответ, вероятно, кешируется. Вы можете установить кеш Ajax option в false или добавить временную метку по запросу:

currentTime= (new Date()).getTime();    
url = '/TareasBackGround/DoTaskInteractivo?_=' + currentTime;
1 голос
/ 04 июня 2009

Вы, вероятно, кэшируете результат в первый раз, поэтому, когда вы запрашиваете его во второй раз, вы получаете ту же (кэшированную) метку времени.

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