2016-03-06 31 views
0

PHP和AJAX的新鮮事,im試圖獲取返回的XML並轉換爲JSON數組,所以我可以更好地顯示數據,但似乎無法得到它的工作。有任何想法嗎?jQuery/PHP的get_file_contents XML和返回json數組

PHP

<?php 

if (isset($_GET['reference'])){ 

    $xml = file_get_contents("http://www.tpeweb.co.uk/WebServices/Customer/PODTrackingData.asmx/GetTrackingRecord?AccountCode=".$_GET['account']."&Reference=".$_GET['reference'].""); 
    $json = json_decode(json_encode((array)$xml), TRUE); 
    echo $json; 

} 
?> 

HTML/JQUERY

<section class="inner rte"> 
    {{ page.content }} 
    <div id="tracking"></div> 
    <script type="text/javascript"> 
     var account = "01484267"; 
     var reference = "2838"; 
     $.ajax({ 
     url: 'http://www.ambientlounge.com/external/ukTracking.php', 
     type: 'POST', 
     data: { 
      account: account, 
      reference: reference 
     }, 
     success: function(xml){ 
      var obj = $.parseJSON(xml); 
      $('#tracking').html(obj); 
      console.log(obj); 
     } 
     }); 
    </script> 
    </section> 

我得到了PHP這個錯誤:

PHP Parse error: syntax error, unexpected ',' in /home/ambcom/public_html/external/ukTracking.php on line 12

$json = json_encode((array)simplexml_load_string($xml)),1); 
+0

您有一個額外的支架。 - >'$ json = json_encode((array)simplexml_load_string($ xml));'或'$ json = json_encode((array)simplexml_load_string($ xml),1)'。請注意,'1'的意思是['JSON_HEX_TAG'](http://php.net/manual/en/json.constants.php) – fusion3k

+0

另外:請注意生成錯誤的行不在您的示例代碼中。 – fusion3k

+0

注意到,謝謝你愚蠢的我排序它,只是得到一個錯誤與JS所以現在看看。 :)感謝隊友 – James

回答

0

,你有沒有在你共享代碼的錯誤,這是文件/home/ambcom/public_html/external/ukTracking.php和問題是你有一個),你不需要。改變這種

$json = json_encode((array)simplexml_load_string($xml)),1); 

對於這個

$json = json_encode((array)simplexml_load_string($xml),1); 
+0

啊,我傻了,像一個魅力工作!即時通訊JS錯誤任何想法?未捕獲的SyntaxError:意外的輸入結束 – James

+0

您在哪一行發生該錯誤? – drosam

+0

Uncaught SyntaxError:意外的inputm.parseJSON結束@ jquery.min.js:4 $ .ajax.success @ track-your-order:593j @jquery.min.js:2k.fireWith @ jquery.min.js:2x @ jquery.min.js:4b @ jquery.min.js:4 – James

0

你必須分析錯誤。需要作爲修改:

$json = json_decode(json_encode($xml), TRUE); 

json_encode(array)這裏陣列意味着把你的數組中此PARAM作爲json_encode($xml)

+0

似乎已經工作,我認爲,當我直接進入文件無論如何,但我得到意外的JS部分輸入結束現在......任何想法什麼發生在那裏? – James

+0

@james rcu在@ ukTracking.php中獲得無與倫比的結局? – devpro

+0

我認爲這是這部分:var obj = $ .parseJSON(xml); - 在html – James