3

一个成功的负载是这样的:处理错误在JavaScript

http://gdata.youtube.com/feeds/api/videos/N7m86aMNjlQ?callback=jsonp1335008664824&alt=json-in-script

然而,当视频是私人或不存在,它只是返回的消息与HTTP错误状态码。

http://gdata.youtube.com/feeds/api/videos/zkZBEnBjOjY?callback=jsonp1335008664915&alt=json-in-script

我创建一个独特的例子回调函数的名称,比如“jsonp1335008664824”并追加URL作为SRC的脚本标记和捕捉功能加载脚本时。但是,如果它返回一个错误,YouTube不会将该内容作为回调函数返回,并且我无法捕获它们中的任何一个。由于脚本标记没有“onerror”属性,我甚至不知道它是否正在加载或返回错误,如404或503状态代码。

似乎唯一处理它的是设置超时函数,当我追加脚本标记。然而,这不是一个可靠的方法,所以我正在寻找另一种选择。我知道即使我可以捕获状态代码,但我无法获取错误消息,但正如我所看到的,只有两个状态代码和两个错误,分别是404“Video not found”或503“Video is private”。

+0

这可能是重复的:http://stackoverflow.com/questions/538745/how-to-tell-if-a-script-tag-failed-to-load。 这也让我很恼火,我会把这个发送给YouTube API团队...... – 2012-04-21 12:36:07

+0

我看到了这个问题,但是因为它与youtube api问题更相关,所以我想创建一个新问题。而且我也将这个问题发送给youtube api开发者论坛。 (https://groups.google.com/forum/?fromgroups#!forum/youtube-api-gdata) – 2012-04-21 12:40:24

+1

已经做到了:) – 2012-04-21 12:49:31

回答