ajax调用在没有完成ajax的情况下执行

时间:2013-05-15 18:17:45

标签: php jquery ajax

我正在使用ajax调用文件。 当我删除ajaxcomplete代码行时,ajax调用工作正常。 但打印的数据并不令人满意。 我如何找到使我的ajaxcomplete,不完整的东西.. 帮我解决这个问题。

谢谢。

我需要在这做什么?感谢..

当我使用下面的脚本时,我在firebug中得到响应,但它没有显示。

ajax脚本

$("#form1").validate({
    debug: true,
    rules: {
        plid: "required",
    },
    messages: {
        plid: "Please select a pack name id..",
    },
    submitHandler: function (form) {
        loading_show();
        $.ajax({
            type: "POST",
            url: "load_data.php",
            data: $('#form1').serialize() + "&page=1",
            success: function (msg) {
                $("#container").ajaxComplete(function (event, request, settings) {
                    loading_hide();
                    $("#container").html(msg);
                });
            }
        });
    }
});

3 个答案:

答案 0 :(得分:3)

如果您在Ajax对象中使用success,则无需使用.ajaxComplete()。把它拿出来:

$.ajax({
    type: "POST",
    url: "load_data.php",
    data: $('#form1').serialize() + "&page=1",
    success: function(msg) {
        loading_hide();
        $("#container").html(msg);
    }
});

答案 1 :(得分:1)

从jQuery 1.8开始,.ajaxComplete()方法只应附加到document

$(document).ajaxComplete(function (event, request, settings) {
    // Your code here
});

答案 2 :(得分:0)

您可以使用以下代码完成任务。

$(document).ajaxComplete(function () { loading_hide(); });

或者您可以使用ajax启动和停止。

$(document).ajaxStart(function () { loading_show(); }); $(document).ajaxStop(function () { loading_hide(); });