2013-05-05 57 views
1

如何將我的PHP數組傳遞給此jQuery代碼? 我已經試過json_encoding但不能在我的jquery函數中使用它。 我的JSON字符串看起來是這樣的:如何傳遞一個php數組與json到jquery函數,ajax

{"1":{"id":"1","league":"england","team1":"Arsenal","team2":"Chelsea"},"2":{"id":"2","league":"spain","team1":"Deportivo","team2":"Real Madrid"}} 

JS:

<script type="text/javascript"> 
      $(document).ready(function(){ 
       var shownIds = new Array(); 
       setInterval(function(){  
        $.get('livescore_process.php', function(data){ 
         for(i = 0; i < data.length; i++){ 
          if($.inArray(data[i]["id"], shownIds) == -1){ 
           if(data[i]["league"]=="england"){ 
            $("#eng").append("id: " + data[i]["team1"] + " [ "+data[i]["team1"]+ " - "+data[i]["team1"]+" ]"+ data[i]["team2"] +"<br />"); 
           } 
           shownIds.push(data[i]["id"]); 
          } 
         } 
        }); 
       }, 3000); 
      }); 
     </script> 
+0

的*第一個*的相關鏈接欄的標題爲[如何通過使用PHP和Ajax來的Javascript數組?](http://stackoverflow.com/questions/7263052/如何對傳遞的陣列 - 利用-PHP-AJAX到JavaScript的?RQ = 1)。它真的不適用於你的問題嗎? (編輯:另外,因爲你的數據不是一個真正的數組,而是一個對象,它不會有'長度'屬性。) – DCoder 2013-05-05 16:19:32

回答

0

嘗試$.getJSON代替$.get和使用PHP json_encode:但是響應數據不是

$.getJSON('livescore_process.php', function(data){... 

數組,但一個JSON對象,所以要處理它,你可以嘗試:

$.each(data, function (index, item) { 
    if (item.hasOwnProperty('id')) { 
     if (item.league == "england") { 
      $("#eng").append("id: " + item.team1 + " [ " + item.team1 + " - " + item.team1 + " ]" + item.team2 + "<br />"); 
     } 
     shownIds.push(item.id); 

    } 
}); 

jsfiddle

+0

謝謝!有效 – Reminisce 2013-05-05 18:17:20