我在做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);
}
});
最佳答案
@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"); });