javascript @JQuery:ajax调用ajax调用的“成功”方法

时间:2014-03-27 13:05:16

标签: javascript jquery ajax

问题是使用setInterval代码(见下文),该页面有一个错误。没有它(setInterval及其内部函数),它可以工作。 在第一次ajax调用的成功函数内,你知道第二个ajax调用是否有效吗?

这是我的代码:(目标是查看是否启动了一个线程;如果它被启动它清除数据表,否则它用ajax调用重新加载它(顺便说一下);如果线程是没有启动,我希望它每隔500毫秒调用服务器,直到线程结束。)

function seeIfOccupied() {
        $.ajax({
                    type : 'GET',
                    url : 'occupe/1',
                    success : function(data, textStatus, jqXHR) {
                        //window.alert(data);
                        //non=pas de thread lancé
                        if (data == "non" && jQuery('#from').val() != ""
                                && jQuery('#from').val() != "") {
                            firstTable.fnReloadAjax("json/" + $("#from").val()
                                    + "/" + $("#to").val());
                        } else {
                            alert("Pas de récupération de la table.Les dates sont peut-être vides\nou le traitement horaire est lancé");

                            if (firstTable != undefined) {
                                firstTable.each(function() {
                                    firstTable.fnDeleteRow(0);
                                });
                            };
                            //MAJ de l'affichage de la durée du job
                            setInterval( function () {
                                //appel ajax
                                $.ajax({
                                    type : 'GET',
                                    url : 'occupe2/2',
                                    success : function(data, textStatus, jqXHR) {
                                        $.("#occupe").html(data);

                                    },//success function
                                    error : function(jqXHR, textStatus, errorThrown) {
                                        window.alert(textStatus);
                                    };
                                });//$.ajax
                            },500);//setInterval
                        }//else
                    },//success function
                    error : function(jqXHR, textStatus, errorThrown) {
                        window.alert(textStatus);
                    }

        });//$.ajax
    };//seeIfOccupied

感谢您的回复。 使用此代码它也不起作用:

function seeIfOccupied() {
        $.ajax({
                    type : 'GET',
                    url : 'occupe/1',
                    success : function(data, textStatus, jqXHR) {
                        //window.alert(data);
                        //non=pas de thread lancé
                        if (data == "non" && jQuery('#from').val() != ""
                                && jQuery('#to').val() != "") {
                            firstTable.fnReloadAjax("json/" + $("#from").val()
                                    + "/" + $("#to").val());
                        } else {
                            alert("Pas de récupération de la table.Les dates sont peut-être vides\nou le traitement horaire est lancé");
                            if (firstTable != undefined) {
                                firstTable.each(function() {
                                    firstTable.fnDeleteRow(0);
                                });
                            };
                            //MAJ de l'affichage de la durée du job
                            setInterval( function () {
                                //appel ajax
                                $.ajax({
                                    type : 'GET',
                                    url : 'occupe2/2',
                                    success : function(data, textStatus, jqXHR) {
                                        $.("#occupe").html(data);

                                    },//success function
                                    error : function(jqXHR, textStatus, errorThrown) {
                                        window.alert(textStatus);
                                    }//error function
                                })//$.ajax
                            },500);//setInterval
                        }//else
                    },//success function
                    error : function(jqXHR, textStatus, errorThrown) {
                        window.alert(textStatus);
                    }

        });//$.ajax
    };//seeIfOccupied

1 个答案:

答案 0 :(得分:0)

错误的代码:

$.ajax({
    type : 'GET',
    url : 'occupe2/2',

    success : function(data, textStatus, jqXHR) {
        $.("#occupe").html(data);
    },

    error : function(jqXHR, textStatus, errorThrown) {
        window.alert(textStatus);
    }; //<----- This pointcomma should be a comma
});



error : function(jqXHR, textStatus, errorThrown) {
    window.alert(textStatus);
}, //<----- This is right