读这个JSON数组

时间:2014-02-23 12:28:51

标签: javascript json

我试图从中读到:http://api01.notaion.com/?item&id=120001462

<script type="text/javascript">
    $.getJSON('http://api01.notaion.com/?item&id=120001462', function(data) {

    });
</script>

我不确定是否需要使用callback = ?,无论如何处理数据。地狱我甚至可能在别的地方弄错了。帮助

3 个答案:

答案 0 :(得分:1)

API似乎不支持CORS。但是他们确实支持JSONP:

$.ajax({
    url: 'http://api01.notaion.com/?item&id=120001462',
    dataType: 'jsonp'
})
.success(function(data) {
    console.log(data);
});

演示:http://jsfiddle.net/h4shZ/

答案 1 :(得分:1)

因为你想从另一个域获取数据,你需要使用jsonp,当你添加callback =时,这是由jquery自动完成的。到网址。所以你得到以下结果:

<script type="text/javascript">
    $.getJSON('http://api01.notaion.com/?item&id=120001462&callback=?', function(data) {   
           console.log(data);
           console.log(data.item[0].itemId); #prints 120001462
    });
</script>

答案 2 :(得分:0)

是的,这需要使用JSONP调用,使用vanilla JavaScript会是这样的:

//create a global callback function
function jsonpCallback(jsonObject){

}
function getJSONP(){
    var script = document.createElement('script');
    script.src = 'http://api01.notaion.com/?item&id=120001462&callback=jsonpCallback';
    document.getElementsByTagName('head')[0].appendChild(script);
}

然后,一旦调用它,您的回调就会从服务器获取数据。