【发布时间】:2012-11-10 04:46:48
【问题描述】:
我有以下代码,其中 realurl = 'TOwd30wXc-0'(youtube 视频 ID):
$.ajax({
url: "http://gdata.youtube.com/feeds/api/videos/"+realurl+"?v=2&alt=json-in-script",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
success: function (data) { PreviewVideo(data) }
});
PreviewVideo(data) 是解析 json 响应并用它做其他事情的函数。
我的问题是,如果视频 ID 不正确(不存在),我不会收到任何通知。我尝试将error: function() { alert('error occured') } 添加到 $.ajax 中,但它什么也没做。
有人知道如何确定视频是否正常吗?如果视频存在,则调用 PreviewVideo(data),否则 - 调用 VideoError() ?
编辑:如果我输入了无效的 ID,我会得到 p>
GET http://gdata.youtube.com/feeds/api/videos/TOwd30wXc-?v=2&alt=json-in-script&callback=jQuery17205096300751902163_1353530502856&_=1353530692237 400 (Bad Request)
在 javascript 控制台 (Chrome) 中
提前致谢
【问题讨论】:
-
您能否同时提供
realurl的有效值和无效值,以便我们查看应该从 API 返回的内容? -
How abt if(data != null){PreviewVideo(data)} .. 仅当请求或响应出错时才调用错误函数。否则它将成功回调
-
我尝试了以下方法:成功:函数(数据){ if(数据!= null){ PreviewVideo(数据)} else { alert('invalid'); } } 但它不工作
标签: javascript ajax api youtube response