Использование таймера с AJAX-запросом

#asp.net #ajax #request #response

#asp.net #ajax #запрос #ответ

Вопрос:

Я новичок в этом, поэтому найти ответ на этот вопрос должно быть довольно легко. У меня есть 2 страницы, одна из которых использует ajax для отправки запроса на вторую страницу. Вторая страница ответит суммой из двух чисел.

Моя проблема в том, что мне нужно, чтобы ответ был отправлен обратно через 5 секунд, в течение которых значение моей кнопки будет изменено, поэтому я настраиваю таймер для отсрочки ответа, но я получаю результаты без каких-либо задержек.

Вот мои страницы:

Страница 1:

 <input type="button" name="btnDoRequest" value="Perform calculation" 
 onclick="PerformCalculation(this);" />

<script type="text/javascript">
    function PerformCalculation(sender) {
        $(sender).val("Working - please wait...");
        $.get("Calculations.aspx", function (data, textStatus) {
            $(sender).val("Perform calculation");
            alert(data);
        });
    }
</script>
</asp:Content>
 

Страница 2:

 <div>
   <%
    int i = 45;
    int j = 45;
    System.Timers.Timer timer = new System.Timers.Timer();
    timer.Interval = 5000;
    timer.Start(); 
    Response.Write(i   j);
   %>
</div>
 

Любые предложения о том, что я делаю неправильно?

Спасибо

Ответ №1:

Вы можете сделать это просто с помощью JavaScript, заменив следующие две строки кода

 $(sender).val("Perform calculation");
alert(data);
 

с

  setTimeout(function(){ $(sender).val("Perform calculation"); alert(data); }, 5000);