2012-04-16 7 views
0

は表示されません。 htmlコード:AJAX呼び出しは、私は、各ループの後に新しい画像のフォルダになりますAJAX呼び出しを持って、そして次のサイクルで新しい画像を表示するが、そのここに正しく</p> <p>動作していないが、私の新しいデータに

<html> 
    <head> 
    <meta http-equiv="refresh" content="1000"/> 
    <title>Slideshow</title> 
    <style type="text/css"> 
     #slideshow { 
     position: relative; 
     } 
     #slideshow, 
     #slideshow img { 
     position: absolute; 
     top: 0px; 
     left: 0px; 
     padding: 15px; 
     border: 1px solid #ccc; 
     background-color: #eee; 
     } 
     #slide { 
     width: 370px; 
     height: 220px; 
     padding: 0; 
     margin: 0 auto; 
     } 
     #myslides { 
     width: 370px; 
     height: 220px; 
     padding: 0; 
     margin: 0 auto; 
     } 

     #myslides img { 
     padding: 10px; 
     border: 1px solid rgb(100,100,100); 
     background-color: rgb(230,230,230); 
     width: 350px; 
     height: 200px; 
     top: 0; 
     left: 0 
     } 

    </style> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
    <script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> 

    <script type="text/javascript"> 
     function loadSlides() { 
     $.ajax({ 
      type: "GET", 
      url: "loadajax.php" 
     }).done(function(response) { 
      var temp_images = eval("(" + response + ")"); 
      for(ti in temp_images) 
      { 
      //alert(temp_images[ti]); 
      $('#slideshow').append('<img src="images/' + temp_images[ti] + '" alt="">'); 
      } 
      startSlideshow(); 
     }); 
     } 

     function startSlideshow() 
     { 
     $('#slideshow').cycle({ 
      fx: 'fade', 
      speed: 700, 
      timeout: 800 
     }); 
     } 

     $(document).ready(function(){ 
     loadSlides(); 
     }); 
    </script> 
    </head> 
    <body> 
    <div id="slideshow" /> 
    </body> 
</html> 

と私のPHPコード:

<?php 

function returnimages($dirname="./images") { 
    $pattern="([^\s]+(\.(?i)(jpg|png|gif|bmp))$)"; 
    $files = array(); 
    if($handle = opendir($dirname)) { 
    while(false !== ($file = readdir($handle))){ 
     if(preg_match($pattern, $file)){ //if this file is a valid image 
     $files[] = $file; 
     } 
    } 
    closedir($handle); 
    } 
    //sort($files); 
    natcasesort($files); 

    return($files); 
} 

$images = returnimages(); 
echo json_encode($images); 

?> 

はどのようにそれを修正するには?

答えて

0

あなたがjQuery.ajax()を呼び出して、あなたが.done()コールバックを添付しているのと同じ方法で返さDeferred object.fail()コールバックに添付しない場合は、要求が何らかの理由で失敗した場合、あなたは何を取得。

ここで確認できるのは、リクエストが失敗していることです。または、最初の場所で実行されていません。

これらの問題を追跡するには、FirebugまたはChromeに組み込まれた開発ツールを使用します。どちらのブラウザにも「ネットワーク」タブがあり、ブラウザのすべてのリクエストを詳細に表示します。これらを使用して、要求が実際に開始されているかどうか、および結果を判断できます。

+0

私はfirebugをインストールしてログからすべて正常に動作しているようですが、キャッシュからeveythingをリロードするようですが、次のサイクルの前にキャッシュをクリアする方法はありますか? http://i43.tinypic.com/2cn8klf.jpg – user1325414

+0

リロードボタンをクリックしている間シフトを押し続けると、通常はそのトリックが実行されます。 –

関連する問題