在这里看不到警报。原因可能是什么?

|
function votar(eid){
    alert(\'inside function\');
    $.post(baseUrl+\"/index/voto\",{id:eid},function(e){
            alert(\'after post\');
我在这里有这个功能。在开发人员服务器上,我可以正常工作。没问题。 上传到生产服务器后,只有第一个警报显示。
$.post(baseUrl+\"/index/voto\",{id:eid},function(e){
baseUrl是正确的。 / index / voto是指向索引控制器的voto方法的正确路径(与开发服务器相同),id:edid是json格式,是的,所以,没有错,最后,我有了该回调。 对于生产环境中未显示第二个警报的事实,我们有什么可能性? 稍后在同一文件中,我具有以下功能,同一行代码,并且可以完美地工作:
function showDetails(eid, elemento){
  $.post(baseUrl+\"/index/details.campaign\",{id:eid},function(e){
唯一的区别是它调用的服务器端函数是,一侧是“ details.campaign”,另一侧是“ voto”。 我们能否声明问题必须仅在此存在? 更新: 这是ipsis verbis的完整votar功能:
function votar(eid) {
    $.post(baseUrl+\"/index/voto\",{id:eid},function(e){
        var divMsg = $(\"#msg\");
        var colunasFinalistas = $(\"#colunasFinalistas\");
        var rodape = $(\"#rodape\");
        var botaoVota = $(\"#votaEmGrande\");
        var html = \"\";

    //no caso de votar pela primeira vez
    if(e.msg == 1){
        html = \'<img src=\"\'+baseUrl+\'/lib/img/obrigadoParticipacao.png\" alt=\"pdf\" />\';
                        rodape.removeClass(\"margemSeparadorRodape\");
                        colunasFinalistas.hide();
        }else if(e.msg == 3){
            //no caso ja ter votado - se não existir nenhum elemento já:
                        if ($(\'#votoJaContabilizado\').length == 0) {
                            botaoVota.after(\'<p id=\"votoJaContabilizado\">O teu voto já foi contabilizado.</p>\');
                        }
        } else if(e.msg == 2){
            //no caso da equipa nao existir
            html = \'<img src=\"\'+baseUrl+\'/lib/img/equipaNaoExiste.png\" alt=\"pdf\" />\';
                        colunasFinalistas.hide();
        } else{
            //no caso de outro erro
            html = \'<img src=\"\'+baseUrl+\'/lib/img/erroEstranho.png\" alt=\"pdf\" />\';
        }


                if (html != \'\'){
                    divMsg.html(html);
                    divMsg.show();
                }



    }, \'json\');

}
    
已邀请:
        试试看,并告诉我们您得到了什么:
var vote = $.post(baseUrl+\"/index/voto\",{id:eid},function(e){
    alert(\'after post\');
});
vote.error(function(e){
    alert(e.statusText);
});
    
        冒着明显的风险,如果未调用回调方法,则表示调用未成功。 $ .post是完整$ .ajax的简写。尝试使用$ .ajax并实现错误功能;这将向您显示是否抛出了缺少您的代码的任何错误。 有关$ .ajax的更多信息,请访问:$ .ajax
$.ajax({
    type: \'POST\',
    url:  baseUrl+\"/index/voto\",
    data: //any required params go here,
    success: function(data, textStatus, jqXHR) {
        debugger;//hooray it worked!
    },
    error: function(jqXHR, textStatus, errorThrown) {
        debugger;//there was an error
    },
    dataType: //type of data you are expecting back from the server
});
    
        
$.post
函数中的第三个参数是成功回调。因此,如果它在开发人员服务器而不是生产服务器上正常运行,则您从服务器获得的响应会出现问题。您是否曾看过服务器发出的响应,因为您的ajax请求没有成功。 检查您从服务器获得的响应(如果有)和/或检查提交“ 6”时服务器上是否进行了任何处理。     
        您的开发服务器中的请求似乎失败了。首先,我建议在第一个警报中显示baseUrl,以便确保地址正确。如果地址看起来还可以,请在执行$ .post调用之前,使用$ .ajaxSetup或$ .ajaxError设置一个函数来处理错误。
$.ajaxError(error: function (event, jqXHR, ajaxSettings, thrownError){
  //try to find out the error
});
更多关于$ .ajaxError在这里。 另外,您可以尝试使用提琴手检查来自服务器的请求     

要回复问题请先登录注册