Jquery .load 304未修改

时间:2011-10-25 21:34:53

标签: ajax jquery internet-explorer-8

好的,我正在使用.load函数将一个div从一个页面加载到当前页面:

<code>
         $(document).ready(function(){ 
         var myUrl = "test.php"
      $("#tags-load").load(myUrl + " #tags");
      $("#share-load").load(myUrl + " .shareinload");
      $("#comments-load").load(myUrl + " #comments");     
         }); 
</code>

这是我的问题,上面的方法在IE 8及更低版本中不起作用,但在IE9和Chrome以及Firefox中都有效。

我做了一些乱搞,发现只有当我没有从test.php调用任何图像时,上面的代码才能在IE8中工作但是(既不是img标签图像也不是背景图像)。然后我检查了HTTP代码以查看我是否在那里收到错误,结果发现我在加载图像时遇到了304错误。这让我相信IE8在缓存图像时必须有某种挂断。所以我改变了我的代码以关闭jquery请求的缓存:

<code>
$.ajax({
  cache: false
  });
     $(document).ready(function(){ 
     var myUrl = "test.php"
  $("#tags-load").load(myUrl + " #tags");
  $("#share-load").load(myUrl + " .shareinload");
  $("#comments-load").load(myUrl + " #comments");     
     });
</code>

尽管改变了代码,但我仍然遇到304错误。我对Jquery很新,我被困在这里,如果有人能帮我找到解决方案,我将不胜感激,

谢谢

1 个答案:

答案 0 :(得分:0)

没有理由提出3页请求,如果它是同一页面。

你可以试试这个:

var myUrl = "test.php";
$.ajax({
  url: myUrl,
  cache: false,
  success: function(html){
    var tags = $('#tags',html).html();
    var shareinload = $('.shareinload',html).html();
    var comments = $('#comments',html).html();
    $("#tags-load").html(tags);
    $("#share-load").html(shareinload);
    $("#comments-load").html(comments);
  }
});