$ .ajax()无法在firefox中运行

时间:2012-07-30 16:48:15

标签: ajax firefox google-chrome jquery

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

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

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

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

3 个答案:

答案 0 :(得分:3)

使用success代替complete

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

  success: function (data) {
    $('#photo').remove();
  }
});

答案 1 :(得分:0)

$.ajax({
    cache: 'false', // just to clear your cache
    url: '/forms/remove_photo/' + temp,
    success: function() {  // this may be more appropriate
        $('#photo').remove();
    }
});

答案 2 :(得分:0)

我在firefox中遇到了$.ajax的问题,但它的工作方式就像是chrome中的魅力,因为Chrome会更快地处理javascript和ajax,因此firefox似乎落后于让你划伤头脑,你是什么样的人可以使用Deferreds这样你可以通过更多控制来处理ajax,这是一个例子:

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

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