2014-03-13 96 views
0

我目前正在刮一個頁面,因爲我需要獲取最新的年份和里程率,並且沒有可用的政府頁面,因此我使用維基百科。當頁面被調用時立即返回一個Json對象

這裏是我的代碼:

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
    </head> 
    <body> 
     <?php 
      // Include the library 
      include('simple_html_dom.php'); 
      $html = file_get_html('http://en.wikipedia.org/wiki/Business_mileage_reimbursement_rate'); 
      $data = $html->find('table[class=wikitable]'); 
      //echo $html; 
      if(isset($data[0])){ 
      echo $data[0]; 
      } 
     ?> 
     <div id="currentRate"> 
     </div> 
      <script> 
      $(window).bind("load",function() { 
       var lasttd = $('tr:last td:last').text(); 
       lasttd = lasttd.replace(" cents/mile", ""); 
       var currentAmnt = (lasttd * .01); 
       var currentYear = (new Date).getFullYear(); 
       alert (currentYear); 
       $("#currentRate").append(lasttd); 
       var currentMiles = { currentYear : currentAmnt }; 
       var jsonMiles = JSON.stringify(currentMiles); 
       $("#currentRate").append(jsonMiles); 
      }); 
     </script>  
    </body> 
</html> 

我所試圖做的就是一個JSON對象發送回 - 因爲我想這個整合到一個iPhone應用程序,我創建。

最終,當有人轉到那個頁面時,我只想要一個JSON對象發送回來,所以它就像{currentYear:value} - 這樣當我告訴我的應用程序查看該URL時,它將獲得乾淨的JSON格式對象。

我有點抓撓我的頭如何最好地完成這一點。

+0

處理一切你爲什麼不分析與PHP的數據,然後回顯爲json_encode對頁面而不JS? – skywalker

+0

嗯,我很努力地使用PHP獲取最後一個tr的最後一個td,所以我使用jquery,因爲它非常簡單。我想你是對的 - 我可以做到這一切與PHP和只使用json_encode;但它試圖用php來獲取這些數據,這已被證明是困難的。 – Hanny

+1

那麼simple_html_dom有'element $ e-> last_child()'這個方法,我相信你可以用它來獲取數據。 – skywalker

回答

0

我已經和通過PHP用簡單的DOM解析器