0

我的 jQuery .ajax() 调用在 firefox 中不起作用,但在 Chrome 中起作用。这是ajax调用:

$.ajax({
        url: '/forms/remove_photo/' + temp,
        complete: function() {
            $('#photo').remove();
        }
    });

但是,在 firefox '/forms/remove_photo/' (这是一个 php 函数)中没有被调用,但完整的函数仍在执行。firebug 中没有出现 parseErrors 或语法错误。在 chrome 中,该函数被调用并成功运行。

有没有人遇到过这个问题?任何帮助将不胜感激。谢谢!

4

3 回答 3

3

使用success代替complete

$.ajax({
  url: '/forms/remove_photo/' + temp,

  success: function (data) {
    $('#photo').remove();
  }
});
于 2012-07-30T16:50:59.190 回答
0
$.ajax({
    cache: 'false', // just to clear your cache
    url: '/forms/remove_photo/' + temp,
    success: function() {  // this may be more appropriate
        $('#photo').remove();
    }
});
于 2012-07-30T16:52:14.183 回答
0

$.ajax在 firefox 中遇到了麻烦,但它在 chrome 中就像一个魅力,发生了什么,因为 chrome 处理 javascript 和 ajax 更快,firefox 似乎被抛在后面,让你摸不着头脑,你能做的就是使用Deferreds那样您可以通过更多控制来处理 ajax,这是一个示例:

$.ajax({
    url: '/forms/remove_photo/' + temp        
}).done(function(){
    $('#photo').remove();
});

我建议您对 Deferreds 对象进行一些研究,因为它会对您有很大帮助

于 2012-07-30T16:53:00.090 回答