执行回调函数时出现问题

时间:2011-07-22 12:20:33

标签: jquery ajax callback

checkSolrServerAvailibility(sort,order,itemPerPage,showPage,query,solrURL, success, error){
     $.ajax({
            url: "",
            dataType: 'json',

            success: function(json){
                success.apply(this, arguments);
            },
            error:function(){
                error.apply(this, arguments);
            }
        })
}

function validateSearchStirng(sort,order,itemPerPage,showPage){
         checkSolrServerAvailibility(sort,order,itemPerPage,showPage,query,solrURL, function(){
                getSolrResponse(sort,order,itemPerPage,showPage,query,solrURL);  
             }, function(){
                var msg= "<hr /><font size="+size+" ><b>Solr Server Not Runing </b></font><hr /> ";
                removeList();
                $("#result").html(msg); 
         });
}

我想做的是在成功的情况下调用getSolrResponse(sort,order,itemPerPage,showPage,query,solrURL),如果失败,我想要一个消息。 但上述功能的行为如下: 在调用getSolrResponse()之前调用checkSolrServerAvailibility() 你能告诉我上述两个函数的行为,它们执行的顺序是什么。

1 个答案:

答案 0 :(得分:0)

编辑,好吧,也许我们可以用另一种方式来做(只需在成功或错误时调用你想要的功能):

function validateSearchStirng(sort,order,itemPerPage,showPage){
         checkSolrServerAvailibility(sort,order,itemPerPage,showPage,query,solrURL );
}

checkSolrServerAvailibility(sort,order,itemPerPage,showPage,query,solrURL){
     $.ajax({
            url: "",
            dataType: 'json',

            success: function(){
            getSolrResponse(sort,order,itemPerPage,showPage,query,solrURL);  
         },
            error: function(){
            var msg= "<hr /><font size="+size+" ><b>Solr Server Not Runing </b></font><hr /> ";
            removeList();
            $("#result").html(msg); 
     }
}

如果你的错误函数有问题,那么:

error: function(){
    alert('error');
}

如果它有效,你的实际功能有问题,请尝试为firefox安装firebug并检查控制台是否有错误。