2013-05-10 109 views
-3

我被卡住了,(JavaScript新手)所以我不想使用Jquery。 但是我確實需要在JavaScript中執行以下操作。這是一個簡單的獲取/解碼和循環數組。使用JavaScript獲取JSON數組內容

<?php 
    $url = "http://data.police.uk/api/forces"; // Make the url 
    $c = file_get_contents($url); // Get JSON 
    $forces = json_decode($c,true); // Decode JSON 

    foreach($forces as $obj) { 
    echo $obj['id']; 
       } ?> <!-- End Loop --> 

謝謝你的支持,你們很棒!

+0

好吧,除非你想使用原始的XMLHttpRequest()對象(和處理回退舊版本瀏覽器),你會想使用jQuery。如果你沒有在其他地方使用jQuery,你總是可以使用[這個網站](http://projects.jga.me/jquery-builder/)來構建一個只是他們的$ .ajax()函數的版本。 – 2013-05-10 21:17:12

+0

如果您是Javascript新手,您應**使用jQuery。我不使用jQuery,因爲我對JS並不陌生(我使用了另一個我喜歡的框架)。 – tjameson 2013-05-11 02:54:27

回答

1

該API支持JSONP:

http://data.police.uk/api/forces?callback=your_callback 

所以你可以創建一個<script>標籤:

var script = document.createElement('script'); 
script.src = 'http://data.police.uk/api/forces?callback=your_callback'; 
script.type = 'text/javascript'; 

document.head.appendChild(script); 

And register將運行一個全球性的回調函數,當該腳本加載:

window.your_callback = function(data) { 
    for (var i = 0; i < data.length; i++) { 
     ... 
    } 
}; 

但jQuery是更好:

$.getJSON('http://data.police.uk/api/forces?callback=?', function(data) { 
    ... 
});