一旦页面加载,隐藏加载数据

时间:2013-05-31 10:44:36

标签: php javascript jquery web

最近一直在问很多问题,我正在努力学习很多关于它的问题。

无论如何,我正在向PHP页面发送Ajax HTTP请求,以便在不需要页面刷新的情况下创建登录表单。现在,因为连接数据库并获取登录信息等可能需要一些时间。

现在我确实加载了.html但是如何在加载数据后隐藏加载数据?

试图使用一些功能,但似乎没有用。

到目前为止,感谢此网站在学习过程中为我提供了很多帮助。

这是JavaScript:

$(document).ready(function() {
    // Make a function that returns the data, then call it whenever you
    // need the current values
    function getData() {
        return {
            user_login: $('#user_login').val(),
            pass_login: $('#pass_login').val()

        }
    }


        function loading(e) {
        $('#content').html('Loading Data');
    }

    function check(e) {
        e.preventDefault();
        $.ajax({

            url: 'ajax/check.php',
            type: 'post',
            data: getData(), // get current values
            success: function (data) {
                            $('#content').hide('slow');

                alert(9);

            }

        });

    }

    // Don't repeat so much; use the same function for both handlers
    $('#field').keyup(function(e) {
        if (e.keyCode == 13) {
    var username = $('#user_login').val();

        loading(e);
        check(e);

        }
    });

    $('#submit').click(function(e) {
        if (e.keyCode != 13) {
        loading(e);
        check(e);
        } 


    });

});

这是HTML:

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
                <script src="js/login.js"></script>
                <div id="content"> Loading...</div>

                <div id="field">
            <input type='text' name='user_login' id='user_login' placeholder='eg: Mark@gmail.com'> <br>
            <input type='password' name='pass_login' id='pass_login'> <br>
        <input type="submit" name="submit" id="submit" value="Login">
            </div>

2 个答案:

答案 0 :(得分:0)

首先,我不确定您的代码是否会成功。此代码将帮助您确定响应是否成功。如果您收到浏览器警报。这意味着您有服务器端错误。它的url路径错误或服务器响应状态码为500(内部错误)。

$.ajax({

        url: 'ajax/check.php',
        type: 'post',
        error: function(){
           alert('An error has occured.');
        },
        beforeSend: function(){
            $('#content').show('slow').html('Loading');
            //loading(e);
        },
        data: getData(), // get current values
        success: function (data) {
                        $('#content').hide('slow');

            alert(9);

        }

});

完全重构代码将如下所示。选择第一个或第二个:

$.ajax({

        url: 'ajax/check.php',
        type: 'post',
        error: function(){
           alert('An error has occured.');
        },
        beforeSend: function(){
            $('#content').show('slow').html('Loading');
            //loading(e);
        },
        data: {user_login: $('#user_login').val(),pass_login: $('#pass_login').val()}, // get current values
        success: function (data) {
                        $('#content').hide('slow');

            alert(9);

        }

});

答案 1 :(得分:0)

function check(){
    $.ajax({

        url: 'ajax/check.php',
        type: 'post',
        error: function(){
           alert('An error has occured.');
        },
        beforeSend: function(){
            $('#content').show('slow').html('Loading');
            //loading(e);
        },
        data: {user_login: $('#user_login').val(),pass_login: $('#pass_login').val()}, // get current values
        success: function (data) {
                        $('#content').hide('slow');

            alert(9);

        }

   });
}

$('#submit').click(function(){
   check();
});

$('#field, #field input').keyup(function(e){
        var username = $('#user_login').val();
        if (e.keyCode == 13) {
        check();
        } 
});

标记

    <div id="field">
        <input type='text' name='user_login' id='user_login' placeholder='eg:Mark@gmail.com'> <br>
        <input type='password' name='pass_login' id='pass_login'> <br>
        <input type="button" name="submit" id="submit" value="Login">
    </div>
祝你好运!!!