我需要一些帮助,因为在阅读 dailymotion api 和多个来源后无法找出问题所在。 我正在尝试通过以下方式从 dailymotion 获取特定视频 ID 的数据:
$.getJSON('https://api.dailymotion.com/video/' + encodeURIComponent(videoid) + '?fields=title,duration,user&callback=?', function(data) {
$.each(data, function(i, item){
console.log(item);
});
});
但继续回应:
"Invalid parameter `_' for `GET /video/<id>'"
但问题是,当尝试在浏览器中输入相同的 URL 时,我会收到 json 响应。
我尝试使其与 .getScript 函数一起使用,但再次没有结果。
$.getScript('https://api.dailymotion.com/video/' + encodeURIComponent(videoid) + '?fields=title,duration,user&callback=dailymotion_fetch_data_callback');
然后阅读它:
function dailymotion_fetch_data_callback(data) {
$.each(data, function(i, item){
console.log(item);
});
}
您能帮我看看如何在将数据推送到回调函数后读取 json 响应吗?
最佳答案
使用 JSONP(带有回调的 json)时,$.getJSON
函数会将参数 ={timestamp}(因此出现无效参数“”错误)附加到您的查询以帮助通过使用不同的 URL 来防止缓存。您可以禁用此功能,但需要使用 $.ajax
语法。不幸的是,这可能会导致您的请求被浏览器缓存。您可能会通过查看在 $.ajax
documentation 中找到的内容来找到另一种方法。
$.ajax({
type: "GET",
url:"https://api.dailymotion.com/video/" + encodeURIComponent(videoid) + "?fields=title,duration,user",
dataType: "jsonp",
cache: true,
success: function(data) {
$.each(data, function(i, item){
console.log(item);
});
}
});
关于javascript - Dailymotion api 使用 json 和 jquery 获取视频信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013876/