jqueryajax请求仅在chrome中有效,而在其他浏览器中无效

jqueryajax请求仅在chrome中有效,而在其他浏览器中无效,jquery,Jquery,我有下面的代码,可以在报告成功通过电子邮件发送给用户时提醒他们。但是我注意到,该警报仅在chrome浏览器中显示,而在其他浏览器中不显示。我想不出是怎么回事。请帮帮我。多谢各位 $("#rpt_email").click(function(event) { var ajaxRequest; /* Stop form from submitting normally */ event.preventDefault(); /* Send the data using post and

我有下面的代码,可以在报告成功通过电子邮件发送给用户时提醒他们。但是我注意到,该警报仅在chrome浏览器中显示,而在其他浏览器中不显示。我想不出是怎么回事。请帮帮我。多谢各位

 $("#rpt_email").click(function(event) {
 var ajaxRequest;

 /* Stop form from submitting normally */
 event.preventDefault();

 /* Send the data using post and put the results in a div */   
   ajaxRequest= $.ajax({
        url: "emailReport.php",
        type: "post",
        data: { 'summary_ttl_value': "5.55%"}            
    });

  ajaxRequest.done(function (){     
      alert("The report has been sent to your email");         
 });  


 ajaxRequest.fail(function (){          
  alert("The report could not be sent");
 });

});

尝试在请求中使用success函数,而不是事后使用“.done”。大概是这样的:

$.ajax({
        url: "emailReport.php",
        type: "post",
        data: { 'summary_ttl_value': "5.55%"},
        success: function(response) { 
            getUserPreference(response);
           }
       });

或者,我注意到您的.done函数包含在click处理程序中。尝试将其移到该函数之外,就像使用.fail函数一样。这可能是因为它只在Chrome上工作,因为Chrome是一款速度更快的浏览器,能够在处理单击事件/ajax请求之前访问.done代码

您使用的是什么版本的JQuery?可能是缓存问题,不是吗?!那么FF控制台中的错误呢?因为成功被更广泛地接受,而且如果我没记错的话,.done直到JQuery 1.5才实现,这就是为什么我问他使用的是什么版本。这很有效,谢谢。但是为什么我的解决方案不起作用呢?您使用的是什么版本的JQuery?我明白了,它的版本问题。我的版本是1.11.3