2012-10-24 132 views
0

我的网站上有几个使用$ .post更新我的数据库的函数。这些都做工精细,在Firefox,但不是在所有的Internet Explorer和我似乎无法找出为什么我已经把下面的功能:

功能1:

function removeAd(ad_id) { 
    $.post('remove.php', { 
     id: ad_id 
    }, function() { 
     $('.workarea').load('display.php'); 
    }); 
};​ 

功能2:

$(document).ready(function() { 
    $('a#addBanner').click(function() { 
     $.post('add.php', { 
      task: 'banner' 
     }, function() { 
      $('.workarea').load('display.php'); 
     }); 
    }); 
});​ 

功能3:

$(document).ready(function() { 
    $(function() { 
     $("#categoryorder").sortable({ 
      opacity: 0.6, 
      cursor: 'move', 
      update: function() { 
       var order = $(this).sortable("serialize") + '&action=updateRecordsListings'; 
       $.post("update.php", order) 
      } 
     }); 
    }); 
});​ 

有谁知道为什么这些会在Firefox工作,但不是在IE浏览器。我对此很新,调试不是我很棒的东西,所以任何帮助将不胜感激

+1

IE的哪一个版本得到它? *'调试不是我很棒的事情* *实践使得完美。 :) – GolezTrol

+2

检查IE中的控制台(按F12)是否有错误。我的猜测是这个问题在'$ .post'之前就会阻止它被调用。 –

+0

...以及涉及哪个版本的jQuery? – Pointy

回答

2

IE缓存ajax请求的问题。尝试使用

$.ajaxSetup({cache:false}); 

或添加参数,所以IE会认为这是一个新的页面,而不是从高速缓存

$('.workarea').load('display.php',{getnew:new Date().getTime()}); 
+0

我认为你是对的,因为现在我可以让它做出更改,但它不刷新页面,即使我自己刷新它。我应该在哪里放这个代码? – Neil

+0

只需在所有代码之前添加它即可。或者在document.ready函数后 –

+0

非常感谢! \t $ .ajaxSetup({cache:false}); <---这工作得很好 – Neil

相关问题