javascript – 如何在客户端检查YouTube上是否存在视频

前端之家收集整理的这篇文章主要介绍了javascript – 如何在客户端检查YouTube上是否存在视频前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在做validation for my Youtube url text field.

我需要检查,如果Youtube网址不存在,我应该抛出错误,我按照这个answer创建了jsfiddle进行检查.

它适用于有效网址但不适用于无效网址.我看到的只是网络控制台中的404错误

有没有办法检查客户端是否存在使用JavaScript和jQuery的url.

这是我的代码

var videoID = 'kn8yzJITdvI';//not working 
//var videoID = 'p4kIwWHP8Vc';//working 
$.ajax({
    url: "https://gdata.youtube.com/Feeds/api/videos/" + videoID + "?v=2&alt=json",dataType: "jsonp",success: function(data) {
        console.log(data)
          $("#result").text(data);
    },error: function(jqXHR,textStatus,errorThrown)
                    {
                        // Handle errors here
                        alert('ERRORS: ' + textStatus);

                    }
});

JSfiddle Link

最佳答案
@hitesh,请从ajax请求中删除数据类型:’jsonp’.这样,如果视频ID可用,你将获得json字符串,如果它不可用,那么将调用ajax错误回调.我试过你的小提琴和它的工作.试试这样 –

//var videoID = 'kn8yzJITdvI';//not working 
var videoID = 'p4kIwWHP8Vc';//working 
$.ajax({
    url: "https://gdata.youtube.com/Feeds/api/videos/" + videoID + "?v=2&alt=json",//dataType: "jsonp",errorThrown)
                    {
                        // Handle errors here
                        alert('ERRORS: ' + textStatus);
                    }
});

以下是您需要的解决方案的另一个简短实施 –

//var videoID = 'kn8yzJITdvI';//not working 
var videoID = 'p4kIwWHP8Vc';//working 

$.getJSON('http://gdata.youtube.com/Feeds/api/videos/'+videoID+'?v=2&alt=jsonc',function(data,status,xhr){
    alert(data.data.title);
}).error(function() { alert("error"); });

猜你在找的jQuery相关文章