1

我有这个 Ajax 发布请求。在克罗姆工作得很好。刚刚在IE中打开它,它完全失败了。它是一个将图像加载到轮播中的 div。使用的轮播是http://caroufredsel.dev7studios.com/(如果有人在图像轮播之后,我强烈推荐它易于实施)

单击文件夹时

     <a href="javascript:void(0);" onclick="getImages(1)">Folder 1</a>

基本上查询一个 php 文件并用一组新图像刷新 div

  $.ajaxSetup ({  
    cache: false,
    async: false  
});  
 function getImages(id)
 {
 $.ajax({


 type: "POST",
 url: 'getImage.php',
 dataType: "json",
 data: "id=" + id, 
 success: function(data) {

      $('#scrolimg').html(data);
      $("#car1").carouFredSel({
auto : false,
items   : 4,
scroll  : 4,
circular : false,
infinite : false,
prev : "#foo1_prev",
next : "#foo1_next",
swipe       : {
    onTouch     : true,
    onMouse     : false
}
 });

 }

 });

当我在 Stack 上阅读类似问题时,大多数人都说将缓存设置为 false 和异步,但这并没有帮助。另一个解决方案是发出 POST 请求而不是 GET ,但这对我也不起作用。

上面的代码完美运行。 问题出在 getImage.php 文件中。我有一个循环正在运行以使用 php 函数调用 getimagesize() 来查找图像的宽度和高度

该功能不在 IE 中运行,但在所有其他浏览器中都能正常运行。我的 Ajax 是否阻止此功能运行?

   <?php do {
  $image = $_SERVER['DOCUMENT_ROOT']."/images/uploads/".$row_rs_image['thumbfile'];
   list($width, $height)= getimagesize($image); 
 ?>
     <img  src="/images/uploads/<?php echo $row_rs_image['thumbfile']; ?>"  width="<?php echo $width;?>" height="<?php echo $height;?>" />
    <?php } while ($row_rs_image = mysql_fetch_assoc($rs_image)); ?>

当我输出源时,我看到以下内容

       <img name="creed" src="/images/uploads/320623-1358872780_thumb.png"  width="" height="" />
4

2 回答 2

2

发现问题。在获取图像大小时使用此行

list($width, $height, $type, $sizes)= getimagesize($image);

然后在getImage.php

  <?php do {
  $image = $_SERVER['DOCUMENT_ROOT'].$row_rs_image['userimagespath'].$row_rs_image['thumbfile'];
   list($width, $height, $type, $sizes)= getimagesize($image);  
 ?>
  <img name="<?php echo $row_rs_image['imgname']; ?>" src="/images/uploads/<?php echo $row_rs_image['thumbfile']; ?>"  <?php echo $sizes;?> />

感谢大家的帮助

于 2013-01-23T15:26:20.220 回答
1

只需删除逗号,尝试一下,希望它会工作:)

$.ajaxSetup ({
cache: false, async: false
});
函数 getImages(id) { $.ajax({

类型:“POST”,url:'getImage.php',dataType:“json”,数据:“id =”+ id成功:函数(数据){

  $('#scrolimg').html(data);
  $("#car1").carouFredSel({

自动:假,项目:4,滚动:4,循环:假,无限:假,上一个:“#foo1_prev”,下一个:“#foo1_next”滑动:{onTouch:真,onMouse:假}});

}

});

于 2013-01-23T13:18:07.890 回答