JSON使用javascript获取数据表单url,然后将数据保存到变量 $(文档).ready(函数(){ var chanName=“”; loadchannelID(“Pewdiepie”); 函数loadchannelID(名称){ chanName=名称; var nameid='1〕https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=“+name+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI” $.getJSON(名称ID,函数(数据){ $('#ytID').html(data.items[0].id); //让它成为一个变量 }); } 功能加载通道(数据){ var url='1〕https://www.googleapis.com/youtube/v3/channels?part=statistics&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url、函数(数据){ $('#里程表').html(data.items[0].statistics.subscriberCount); $('#viewCount').html(data.items[0].statistics.viewCount); $('#commentCount').html(data.items[0].statistics.commentCount); $('#videoCount').html(data.items[0].statistics.videoCount); }); var url1='1〕https://www.googleapis.com/youtube/v3/channels?part=snippet&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url1,函数(数据){ $('#ytName').html(data.items[0].snippet.title); $('#ytDis').html(data.items[0].snippet.description); $('#ytImage').html(''); }); } setInterval(函数(){ var url='1〕https://www.googleapis.com/youtube/v3/channels?part=statistics&id=“+chanName+”&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url、函数(数据){ $('#里程表').html(data.items[0].statistics.subscriberCount); $('#viewCount').html(data.items[0].statistics.viewCount); $('#commentCount').html(data.items[0].statistics.commentCount); $('#videoCount').html(data.items[0].statistics.videoCount); }); }, 5000); $(“#更新”)。单击(函数(){ loadchannelID($('#chnlName').val()); }) });

JSON使用javascript获取数据表单url,然后将数据保存到变量 $(文档).ready(函数(){ var chanName=“”; loadchannelID(“Pewdiepie”); 函数loadchannelID(名称){ chanName=名称; var nameid='1〕https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=“+name+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI” $.getJSON(名称ID,函数(数据){ $('#ytID').html(data.items[0].id); //让它成为一个变量 }); } 功能加载通道(数据){ var url='1〕https://www.googleapis.com/youtube/v3/channels?part=statistics&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url、函数(数据){ $('#里程表').html(data.items[0].statistics.subscriberCount); $('#viewCount').html(data.items[0].statistics.viewCount); $('#commentCount').html(data.items[0].statistics.commentCount); $('#videoCount').html(data.items[0].statistics.videoCount); }); var url1='1〕https://www.googleapis.com/youtube/v3/channels?part=snippet&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url1,函数(数据){ $('#ytName').html(data.items[0].snippet.title); $('#ytDis').html(data.items[0].snippet.description); $('#ytImage').html(''); }); } setInterval(函数(){ var url='1〕https://www.googleapis.com/youtube/v3/channels?part=statistics&id=“+chanName+”&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI”; $.getJSON(url、函数(数据){ $('#里程表').html(data.items[0].statistics.subscriberCount); $('#viewCount').html(data.items[0].statistics.viewCount); $('#commentCount').html(data.items[0].statistics.commentCount); $('#videoCount').html(data.items[0].statistics.videoCount); }); }, 5000); $(“#更新”)。单击(函数(){ loadchannelID($('#chnlName').val()); }) });,javascript,html,json,Javascript,Html,Json,这就是迄今为止我们所做的。我需要从Youtube频道获取id,但我有一个Youtube名称。因此,我需要将名称转换为youtube频道id。“Function loadchannelID”是目前为止我所拥有的,它可以工作,但我需要将#ytID转换为var。但是我不知道怎么做。另一个功能是显示来自通道ID的数据,如果ID转换为var,这也会起作用。请帮助!谢谢 我假设您希望在类中使用var,chanName是通道ID和名称容器数组 <script type="text/javascript"

这就是迄今为止我们所做的。我需要从Youtube频道获取id,但我有一个Youtube名称。因此,我需要将名称转换为youtube频道id。“Function loadchannelID”是目前为止我所拥有的,它可以工作,但我需要将#ytID转换为var。但是我不知道怎么做。另一个功能是显示来自通道ID的数据,如果ID转换为var,这也会起作用。请帮助!谢谢

我假设您希望在类中使用var,chanName是通道ID和名称容器数组

<script type="text/javascript">

        $(document).ready(function() {

            var chanName = "";

            loadchannelID("Pewdiepie");

            function loadchannelID(name){

                chanName = name;

                var nameid= 'https://www.googleapis.com/youtube/v3/channels?part=id&forUsername='+name+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI'
                $.getJSON(nameid, function(data) {
                    $('#ytID').html(data.items[0].id); 
                //MAKE IT TO A VAR                    
            });


            }

            function loadChannel(data) {

                var url = 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id='+id+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI';
                $.getJSON(url, function(data) {
                    $('#odometer').html(data.items[0].statistics.subscriberCount);
                    $('#viewCount').html(data.items[0].statistics.viewCount);
                    $('#commentCount').html(data.items[0].statistics.commentCount);
                    $('#videoCount').html(data.items[0].statistics.videoCount);
                });

                var url1 = 'https://www.googleapis.com/youtube/v3/channels?part=snippet&id='+id+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI';
                $.getJSON(url1, function(data){
                    $('#ytName').html(data.items[0].snippet.title);
                    $('#ytDis').html(data.items[0].snippet.description);
                    $('#ytImage').html('<a href=\"https://www.youtube.com/'+ data.items[0].snippet.customUrl + '\"> <img class="img-circle" src=\"'+data.items[0].snippet.thumbnails.medium.url+'\" ></a>');
                });
            }

            setInterval( function() {
                var url = 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id='+chanName+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI';
                $.getJSON(url, function(data) {
                    $('#odometer').html(data.items[0].statistics.subscriberCount);
                    $('#viewCount').html(data.items[0].statistics.viewCount);
                    $('#commentCount').html(data.items[0].statistics.commentCount);
                    $('#videoCount').html(data.items[0].statistics.videoCount);
                });

            }, 5000);

            $('#update').click( function(){
                loadchannelID($('#chnlName').val());
            })            
        });

    </script>

我不清楚您是尝试获取值还是尝试创建url,但在这两种情况下,您都可以:

var url_string = "https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=Pewdiepie&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI";
var url = new URL(url_string);
var forUsername = url.searchParams.get("forUsername");
function loadChannel(id){
如果要获取参数值,可以使用:

(function($, jsYouTube){

    var chanName = "";

    $.getChannelID = function loadchannelID(name){

        chanName = name;

        var nameid= 'https://www.googleapis.com/youtube/v3/channels?part=id&forUsername='+name+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI'
        $.getJSON(nameid, function(data) {
            $this.chanName['id'] = data.items[0].id ;
        });


    }
})(jQuery, 'jsYouTube');
如果要设置参数,可以执行以下操作:

var url_string = "https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=Pewdiepie&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI";
var url = new URL(url_string);
var forUsername = url.searchParams.get("forUsername");
function loadChannel(id){

我希望这就是你想要实现的目标:

var chanName=”“;
var-chanID=0;
loadchannelID(“Pewdiepie”);
函数loadchannelID(名称){
chanName=名称;
var nameid='1〕https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=“+name+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”
$.getJSON(名称ID,函数(数据){
chanID=data.items[0].id;
$('#ytID').html(chanID);
loadChannel(chanID);//现在,您知道了ID,将其传递给“loadChannel”
});
}
功能加载通道(id){
var url='1〕https://www.googleapis.com/youtube/v3/channels?part=statistics&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”;
$.getJSON(url、函数(数据){
$('#里程表').html(data.items[0].statistics.subscriberCount);
$('#viewCount').html(data.items[0].statistics.viewCount);
$('#commentCount').html(data.items[0].statistics.commentCount);
$('#videoCount').html(data.items[0].statistics.videoCount);
});
var url1='1〕https://www.googleapis.com/youtube/v3/channels?part=snippet&id=“+id+”&key=aizasycpvqfcuile8-Z2JSyjpvvek8WfPeCfcI”;
$.getJSON(url1,函数(数据){
$('#ytName').html(data.items[0].snippet.title);
$('#ytDis').html(data.items[0].snippet.description);
$('#ytImage').html('');
});
}

正如我已经说过的,您的代码是异步的,因此您可以使用如下承诺:

var forUsername = url.searchParams.set("forUsername", yourValueHere);
function loadchannelID(name){
 return new Promise(function(resolve){
    var chanName = name;
    var nameid= 'https://www.googleapis.com/youtube/v3/channels?part=id&forUsername='+name+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI'
  $.getJSON(nameid, function(data) {
     $('#ytID').html(data.items[0].id); 
     //lets resolve the promise
     resolve(data.items[0].id);                
  });
 });
}
所以你可以这样使用它:

var forUsername = url.searchParams.set("forUsername", yourValueHere);
function loadchannelID(name){
 return new Promise(function(resolve){
    var chanName = name;
    var nameid= 'https://www.googleapis.com/youtube/v3/channels?part=id&forUsername='+name+'&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI'
  $.getJSON(nameid, function(data) {
     $('#ytID').html(data.items[0].id); 
     //lets resolve the promise
     resolve(data.items[0].id);                
  });
 });
}
如果你改变

loadChanelID("test").then(function(name){
 alert("name is"+name);
});
致:

你可以做:

var url_string = "https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=Pewdiepie&key=AIzaSyCppVQFcUiLE8-Z2JSyjpvvek8WfPeCfcI";
var url = new URL(url_string);
var forUsername = url.searchParams.get("forUsername");
function loadChannel(id){

这段代码是异步的。使用回调或承诺(特别是等待)您可以向我们展示您的其他代码吗?非常感谢!我想不出来,我试了好几个小时!!谢谢什么是
$this