我需要一些帮助,因为在阅读了dailymotion api后,多个来源无法找出问题所在。 我试图通过以下方式从特定视频ID中获取dailymotion中的数据:
$.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>'"
但问题是,当我尝试向浏览器点击相同的网址时,我会回复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的响应吗?
答案 0 :(得分:3)
当使用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);
});
}
});
答案 1 :(得分:0)
以下是使用JSONP(参考http://jsfiddle.net/Ehxxn/6/)回调处理此问题的示例
<强> HTML 强>
<script type="text/javascript" language="javascript" src="https://api.dailymotion.com/video/xlu5dd?fields=title,duration,user&callback=handleData"></script>
<div id="result"></div>
<强> JAVASCRIPT 强>
function handleData(data) {
$.each(data, function(i, item){
$('#result').append(item);
});
}