2013-05-10 114 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) { 
    ... 
});