2014-10-01 19 views
0

即時通訊嘗試建立一個頁面,顯示用戶目前的外匯匯率的生活。所以即時通訊從一個feed中獲取值並將其回顯到一個表中。現在我想展示給使用jquery的用戶。表返回從PHP不添加到給定的div使用jquery

問題是我嘗試將返回的表添加到一個div,但表不添加到給定的div ID。如果螢火它顯示在控制檯模式下獲得正確表

我的PHP

echo '<table> 
    <thead> 
     <tr> 
      <th class="instrument child_1"> 
       <span>Currency</span> 
      </th> 
      <th> 
       <span>Buy</span> 
      </th> 
      <th"> 
       <span>Sell</span> 
      </th> 
      <th> 
       <span>GMT Time</span> 
      </th> 
     </tr> 
    </thead> 
    <tbody>'; 
     foreach ($xml->Rate as $rate) { 
echo' <tr> 
     <td> '.$rate->Symbol.'</td> 
      <td> 
       '.$rate->Buy.' 
      </td> 
      <td> 
       '.$rate->Sell.' 
      </td> 
      <td> 
       '.$rate->Last.' 
      </td>'; 
} 
echo '  </tbody> 
</table>'; 

Jquery的代碼

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    new get_feed(); 

}); 

</script> 

<script type="text/javascript"> 
function get_feed(){ 
    var feed = $.ajax({ 
     type: "POST", 
     url: "feed2.php", 
     cache: false, 
    }).success(function(){ 

     setTimeout(function(){get_feed();}, 10000); 
    }); 
$('#feeds').html(feed); 

} 
</script> 

HTML

<div id="feeds"> 

</div> 

任何幫助將不勝感激

+1

關閉 in your echo – 2014-10-01 11:13:02

+0

使用'new'關鍵字有什麼用處?感謝您指出, – Steve 2014-10-01 11:16:41

+0

錯過了。我正在通過一些教程來每隔幾秒運行一次jquery。他們中的大多數使用'new'關鍵字調用函數。 – LiveEn 2014-10-01 11:38:32

回答

3

試試這個($就調用沒有返回值,你需要通過使得槽式成功處理器)

<script type="text/javascript"> 
$(document).ready(function() { 
    get_feed(); 
}); 
</script> 

<script type="text/javascript"> 
function get_feed(){ 
    $.ajax({ 
     type: "POST", 
     url: "feed2.php", 
     cache: false, 
    }).success(function(data){ 
     $('#feeds').html(data); 
     setTimeout(function(){get_feed();}, 10000); 
    }); 
} 
</script> 
2

</tr>foreach loop

foreach ($xml->Rate as $rate) { 
echo' <tr> 
     <td> '.$rate->Symbol.'</td> 
      <td> 
       '.$rate->Buy.' 
      </td> 
      <td> 
       '.$rate->Sell.' 
      </td> 
      <td> 
       '.$rate->Last.' 
      </td> 
     </tr>';   
} 

填補div的價值收超時代碼之前

success(function(){ 
     $('#feeds').html(feed); 
     setTimeout(function(){get_feed();}, 10000); 
    }); 
0

,如下圖所示,您必須追加HTML從成功回調 Ajax響應來: -

<script type="text/javascript"> 
$(document).ready(function() { 
    get_feed(); 
}); 
</script> 

<script type="text/javascript"> 
function get_feed(){ 
    var feed = $.ajax({ 
     type: "POST", 
     url: "feed2.php", 
     cache: false, 
     dataType:"html", // <-----set datatype as html 
    }).success(function(data){ 
     $('#feeds').empty().html(data); //<-----add html to desired div here 
     setTimeout(function(){ get_feed(); }, 10000); 
    }); 
} 
</script> 
1
<script type="text/javascript"> 
$(document).ready(function() { 
    get_feed(); 
}); 
</script> 

<script type="text/javascript"> 
function get_feed(){ 
    var feed = $.ajax({ 
     type: "POST", 
     url: "feed2.php", 
     cache: false, 
    }).success(function(data){ 
     $('#feeds').html(data); 
     setTimeout(function(){get_feed();}, 10000); 
    }); 
} 
</script> 

在你的代碼變種飼料不會含有返回的數據,這將被包含在裏面data成功,從而使調用相同的每個功能的每個10秒,它永遠不會離開function.Recursion原因重複執行力,所以應該HTML裏面的成功在這裏

0

寫入無需使用new關鍵字,因爲你沒有公佈任何數據,你可以使用jQuery的週期性的load()

<script type="text/javascript"> 
$(function(){ 
    var loadData = setInterval(function(){ 
     $('#feeds').load('feed2.php'); 
    }, 10000); 

    //if you want to stop loading at some point 
    $('#something').click(function(){ 
     clearInterval(loadData); 
    }); 
});  
</script>