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 および async にすると言いますが、それは役に立ちませんでした。別の解決策は、GET の代わりに POST リクエストを作成することでしたが、それもうまくいきません。

上記のコードは完全に機能します。 問題は 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
});
function getImages(id) { $.ajax({

タイプ: "POST"、url: 'getImage.php'、dataType: "json"、データ: "id=" + id success: 関数(データ) {

  $('#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 } });

}

});

于 2013-01-23T13:18:07.890 に答える