【发布时间】:2014-01-23 16:35:50
【问题描述】:
我怎样才能获得这样的 JSON url 数据?
http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/cast.json?apikey=Removed_My_API_Key'
当我像这样复制和粘贴数据时
var titles = {
"cast": [{
"id": "162664630",
"name": "Sylvester Stallone",
"characters": ["Barney Ross"]
}, {
"id": "162653720",
"name": "Jason Statham",
"characters": ["Lee Christmas"]
}, {
"id": "162652223",
"name": "Jet Li",
"characters": ["Yin Yang"]
}, {
"id": "162664307",
"name": "Dolph Lundgren",
"characters": ["Gunnar Jensen"]
}, {
"id": "162670654",
"name": "Chuck Norris",
"characters": ["Booker"]
}, {
"id": "326392465",
"name": "Terry Crews",
"characters": ["Hale Caesar"]
}, {
"id": "770731413",
"name": "Randy Couture",
"characters": ["Toll Road"]
}, {
"id": "770833479",
"name": "Liam Hemsworth",
"characters": ["Billy the Kid"]
}, {
"id": "770704326",
"name": "Scott Adkins",
"characters": ["Hector"]
}, {
"id": "770670020",
"name": "Nan Yu",
"characters": ["Maggie"]
}, {
"id": "162670708",
"name": "Jean-Claude Van Damme",
"characters": ["Jean Vilain"]
}, {
"id": "162652509",
"name": "Bruce Willis",
"characters": ["Mr. Church"]
}, {
"id": "162662233",
"name": "Arnold Schwarzenegger",
"characters": ["Trench"]
}, {
"id": "489251774",
"name": "Amanda Ooms",
"characters": ["Pilar"]
}, {
"id": "377608335",
"name": "Charisma Carpenter",
"characters": ["Lacy"]
}, {
"id": "771417014",
"name": "Nikolette Noel",
"characters": ["Sophia"]
}],
"links": {
"rel": "http://api.rottentomatoes.com/api/public/v1.0/movies/771238417.json"
}
},
star,
staring = [];
for (star = 0; star < titles.cast.length; star++) {
staring.push(titles.cast[star].name + ' as ' + titles.cast[star].characters[0]);
}
document.getElementById('Credits').innerHTML = staring.join(', ');
它使用上面的代码工作,我试图弄清楚如何直接从 URL 本身获取它。
我尝试了以下方法
var movieUrl = 'http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/cast.json?apikey=Removed_My_API'
$(document).ready(function() {
$.ajax({
url: moviesSearchUrl + encodeURI(query),
dataType: "jsonp",
success: searchCallback
});
});
function searchCallback(data) {
var titles = data.cast
star,
staring = [];
for (star = 0; star < titles.cast.length; star++) {
staring.push(titles.cast[star].name + ' as ' + titles.cast[star].characters[0]);
}
document.getElementById('Credits').innerHTML = staring.join(', ');}
使用这个 JS Fiddle http://jsfiddle.net/6yYYZ/ ,有人可以帮忙吗?
【问题讨论】:
-
我收到
{"error":"Account Inactive"} -
您确定该 API 可以用作 JSONP 服务吗? edit 从文档来看,它确实似乎不支持 JSONP。我认为该服务旨在成为您从 服务器 而非 Web 客户端使用的东西。
-
@A1rPun 我删除了我的 api 密钥,但它输出的数据与顶部列出的相同。它是所有数据的直接复制和粘贴
-
@A1rPun 你当然会得到,因为 url 没有 api 密钥。
-
@Pointy 确实有效......他只是有一些自升式代码。一些调整,它的工作原理。
标签: javascript jquery json