我的jQuery .ajax()调用在firefox中不起作用,但它在Chrome中有效。这是ajax调用:
$.ajax({
url: '/forms/remove_photo/' + temp,
complete: function() {
$('#photo').remove();
}
});
然而,在firefox'/ forms / remove_photo /'(这是一个php函数)没有被调用,但是完整的函数仍然在执行。 firebug中没有出现parseErrors或语法错误。在chrome中,函数被调用并成功运行。
以前有人遇到过这个问题吗?任何帮助将不胜感激。谢谢!
答案 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对象进行一些研究,因为它会对你有很大的帮助