2014-11-05 40 views
-3

的index.php(不準確佈局只是snippits)AJAX未知問題

 <!-- TRACK LIST --> 
     <a name="trackList"> 
     <div id="trackList" class="container"> 
      <?php 
       include("api/displayTracks.php"); 
      ?> 
     </div> 

     // AJAX 
     function update(actionUrl, outUrl, div){   
      if (actionUrl != "") { 
       $.ajax({ 
        url: actionUrl, 
        cache: false, 
        success: function(html){   
         $.ajax({ 
          url: outUrl, 
          cache: false, 
          success: function(html){   
           $(div).html(html);   
          }, 
         });   
        }, 
       }); 
      } else { 
       $.ajax({ 
        url: outUrl, 
        cache: false, 
        success: function(html){   
         $(div).html(html);   
        }, 
       });  
      } 
     } 

     function updateTracks() { 
      update("", "api/displayTracks.php", "#trackList"); 
     } 

     setInterval(updateTracks, 5000); 

我建立了功能更新,試圖解決這個問題,以前我曾在AJAX的許多功能,但同樣的問題要求持續存在。 上面的代碼應該每5秒更新一次新內容#trackList ...但我的問題是它沒有做任何事情,我沒有太多的AJAX經驗,這是我的知識範圍。

但是,我確實在更新函數中放置了alert('test'),並且它每5秒成功調用一次。所以我把它縮小到ajax。

displayTracks.php (在此使用的功能都包含在index.php文件頂部)

<?php 
    // display tracks 
    function displayLatestTracks($limit) { 
     $sql = sql("SELECT * FROM tracks WHERE (rank > 0) AND (isSet = 0) ORDER BY date DESC LIMIT ".$limit); 
     if (mysql_num_rows($sql) != 0) { 
      while ($row = mysql_fetch_assoc($sql)) { 
       if ($row['link'] != "") { 
        echo '<div style="background-color:rgb('.randColor().');" id="track-'.$row['id'].'" class="track">'; 
        echo '<iframe width="100%" height="20" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url='.$row['link'].'&amp;color=b60000&amp;inverse=true&amp;auto_play=false&amp;liking=true&amp;show_user=true"></iframe>'; 
        echo '</div>'; 
       } 
      } 
     } 
    } 

    // display albums 
    function displayLatestAlbums($limit) { 
     $sql = sql("SELECT * FROM tracks WHERE (rank > 0) AND (isSet = 1) ORDER BY date DESC LIMIT ".$limit); 
     if (mysql_num_rows($sql) != 0) { 
      while ($row = mysql_fetch_assoc($sql)) { 
       if ($row['link'] != "") { 
        echo '<div style="background-color:rgb('.randColor().');" id="album-'.$row['id'].'" class="album">'; 
        echo '<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url='.$row['link'].'&amp;color=c50000&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;liking=true&amp;show_reposts=false"></iframe>'; 
        echo '</div>'; 
       } 
      } 
     } 
    } 
    echo '<p class="title">Track List</p>'; 
    displayLatestAlbums(3); 
    displayLatestTracks(10); 
?> 

SQL溫控功能:

function sql($query) { 
    $sql = mysql_query(strip_tags($query)); 
    if(!$sql) { 
     echo "Error processing query".mysql_error(); 
    } 
    return $sql; 
} 
+2

看看F12錯誤控制檯,它說什麼? – 2014-11-05 16:57:39

+0

你沒有指定任何方法,如'get'或'post' – 2014-11-05 16:58:04

+0

沒有必要。如果沒有方法設置,則有默認方法。 – vaso123 2014-11-05 16:59:58

回答

0

有絲毫沒有任何東西與AJAX錯誤。 我在我的PHP文件中安排了include()的方式剝奪了我的AJAX代碼獲得直接的mysql連接,導致回調爲空白並且不包含任何數據。