Проблема в выполнении функции обратного вызова - PullRequest
0 голосов
/ 22 июля 2011
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 голосов
/ 22 июля 2011

РЕДАКТИРОВАТЬ, хорошо, может быть, мы могли бы сделать это по-другому (просто вызовите функцию, которую вы хотите в случае успеха или ошибки):

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

если это работает, у вас есть настоящая функция, попробуйте установить firebug для firefox и проверьте, есть ли у вас ошибка в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...