0

最近一直在问很多jquery问题,我正在尽力了解它。

无论如何,我正在向 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>

4

2 回答 2

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);

        }

});
于 2013-05-31T10:59:11.283 回答
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>

祝你好运!!!

于 2013-05-31T11:50:52.180 回答