我试图通过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
答案 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);
}
});