通过Jquery问题访问API

时间:2014-07-04 15:57:15

标签: jquery ajax

我试图通过jquery使用ajax访问API,这里是我的代码

$(document).ready(function(){
function kimonoCallback(data) {
   var ticker = '<ul id="webticker">';
   var url = data.results.collection[i].alaune; 
   $.each(url,function(i, news ){       
     ticker += '<li>';
     ticker += '<a href="'+ news.href+ '">';
     ticker += '<img src="img/ticker_sep.png" alt="sep"/>';
     ticker += '"'+ news.text +'" </a></li>';
   });
   ticker += '</ul>';
   $('#tickernews').html(ticker);
  }



$.ajax({
        "url":"https://www.kimonolabs.com/api/d7dujppi?apikey=xxxxxxxxxxxxxxxxxxxx&callback=kimonoCallback",
        "crossDomain":true,
        "dataType":"jsonp"
    });

});

当我试图在网页上看到结果时,控制台中没有任何错误。所以我如何发出请求并显示我的网页文本。

检查api here

1 个答案:

答案 0 :(得分:1)

工作示例:http://jsfiddle.net/6jU3b/5/

在ajax响应的success method中调用您的方法,而不是在从服务器返回时尝试执行它。

我还更改了您的$.each语句,以反映更新的对象(我在处理时将其从collection更改为collection1:{

$(document).ready(function(){
    $.ajax({
        url:"https://www.kimonolabs.com/api/d7dujppi?apikey=94d5808efe01f5eab40a5027c54bf86f",
        crossDomain:true,
        dataType:"jsonp",
        success: function(data) {
            console.log(data);
            kimonoCallback(data);
        }

    });

function kimonoCallback(data) {
   var ticker = '<ul id="webticker">';
   var url = data.results.collection1; 
   $.each(url,function(key, value){       
     ticker += '<li>';
     ticker += '<a href="'+ value.alaune.href + '">';
     ticker += '<img src="img/ticker_sep.png" alt="sep"/>';
     ticker += '"'+ value.alaune.text +'" </a></li>';
   });

   ticker += '</ul>';
   $('#tickernews').html(ticker);
 }

});