javascript - 如何延迟ajax响应秒数

标签 javascript jquery ajax

我正在通过 jQuery ajax 在 div 容器中加载一些结果。 我希望在 2 秒延迟后向用户显示结果

我正在使用以下代码

<script type="text/javascript">
$(function() {
    $("#submit").click(function() {
        $('#myform').slideToggle('#loading');
        $('#loginhandle').show("slow");
        var name = $("input#name").val();
        var age = $("input#age").val();
        var dataString = 'name='+ name + '&age=' + age ;
        $.ajax({
            type: "POST",
            url: "results.php",
            data: dataString,
            success: function(msg) {
                $('#loading').slideToggle('#results');
                $('#results').show("slow");
                $('#results').html(msg)
                .hide()
                .fadeIn(1500, function() {
                });
            }
        });
        return false;
    });
});
</script>

结果显示在contianer

<div id='loading' style='display:none'>
Please wait for while
</div>

<div id='results' style='display:none'>
<div id='results' class='results'></div>
</div>

我对这部分的代码进行了更改

$('#loading').slideToggle('#results');

setTimeout(function() {
    $('#loading').slideToggle('#results');
}, 2000);

但它只会延迟装载容器,因此在显示“请稍候”时会显示结果 那么我怎样才能推迟它呢?

最佳答案

如果我误解了,请纠正我,但要延迟一切,只需将所有成功函数代码放入 setTimeout 函数中即可。

success: function(msg) {
   setTimeout(function() {
     $('#loading').slideToggle('#results');
     $('#results').show("slow");
     $('#results').html(msg).hide().fadeIn(1500, function() {

     });}, 2000);      
 });

关于javascript - 如何延迟ajax响应秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19459600/

相关文章:

javascript - HTML 拖放和事件冒泡的潜在错误

python - 尝试使用 Flask 和 jquery 将实时传感器数据从 python 获取到 html,而不刷新整个页面

java - 表单提交两次并使用 null 值并给出 500 错误

php - 在 php 中使用 ajax 和 jquery 时,数据在数据库中多次输入

javascript - Canvas 中的内线未从圆圈中移除

javascript - 当我的网站加载时,如何为我的 `<div>` 元素提供动画条目

javascript - angular.js 中的 Hello World

javascript - 问卷的正确数据结构是什么

javascript - 更改自定义插件 Ckeditor 的工具提示语言

c# - 使用 AJAX 或 ASP.NET 进行异步调用?