Javascript Soundcloud对象数组为空

Javascript Soundcloud对象数组为空,javascript,jquery,html,json,soundcloud,Javascript,Jquery,Html,Json,Soundcloud,下面是以下Javascript和HTML(使用assemble+Handlebar),我不明白返回的SC数据为什么没有显示在HTML中?正在生成正确数量的项,但它们是空的 在我的JS中是否需要额外的步骤来启用soundcloud JSON?我直接使用SoundCloudAPI JS: var soundcloud = { init: function (config) { SC.initialize({ client_id: 'xxx'

下面是以下Javascript和HTML(使用assemble+Handlebar),我不明白返回的SC数据为什么没有显示在HTML中?正在生成正确数量的
  • 项,但它们是空的

    在我的JS中是否需要额外的步骤来启用soundcloud JSON?我直接使用SoundCloudAPI

    JS

    var soundcloud = {
    
        init: function (config) {
            SC.initialize({
                client_id: 'xxx'
            });
            this.template = config.template;
            this.container = config.container;
            this.fetch();
        },
    
        attachTemplate: function () {
            var template = Handlebars.compile(this.template);
            this.container.append(template(this.tracks));
        },
    
        fetch: function () {
            var self = this;
            SC.get("/users/robbabicz/tracks", function (data) {
                self.tracks = $.map(data, function (track) {
                    return {
                        artwork: track.artwork_url,
                        duration: track.duration,
                        permalink: track.permalink_url,
                        listens: track.playback_count,
                        stream: track.stream_url,
                        title: track.title
                    };
                });
                self.attachTemplate();
            });
        }
    
    };
    
    soundcloud.init({
        template: $('#tracks-template').html(),
        container: $('ul.soundcloud')
    });
    
    <ul class="soundcloud">
        <script id="tracks-template" type="text/x-handlebars-template">
        {{#each this}}
            <li data-stream="{{stream}}">
                <p>Track: {{title}}</p>
            </li>
        {{/each}}
        </script>
    </ul>
    
    HTML

    var soundcloud = {
    
        init: function (config) {
            SC.initialize({
                client_id: 'xxx'
            });
            this.template = config.template;
            this.container = config.container;
            this.fetch();
        },
    
        attachTemplate: function () {
            var template = Handlebars.compile(this.template);
            this.container.append(template(this.tracks));
        },
    
        fetch: function () {
            var self = this;
            SC.get("/users/robbabicz/tracks", function (data) {
                self.tracks = $.map(data, function (track) {
                    return {
                        artwork: track.artwork_url,
                        duration: track.duration,
                        permalink: track.permalink_url,
                        listens: track.playback_count,
                        stream: track.stream_url,
                        title: track.title
                    };
                });
                self.attachTemplate();
            });
        }
    
    };
    
    soundcloud.init({
        template: $('#tracks-template').html(),
        container: $('ul.soundcloud')
    });
    
    <ul class="soundcloud">
        <script id="tracks-template" type="text/x-handlebars-template">
        {{#each this}}
            <li data-stream="{{stream}}">
                <p>Track: {{title}}</p>
            </li>
        {{/each}}
        </script>
    </ul>
    
      {{{#每个这个} 曲目:{{title}}

      {{/每个}}
    工作正常。。这是你的电话号码

    我将客户id从“xxx”更改为“您的客户id”,我看到了响应。如果您使用的是实际的客户机id而不是xxx,那么您可能只需要打印服务器响应并查看发生了什么

    我使用了下面提到的方法,效果很好

    客户端id:“您的客户端id”,重定向uri: “”

    很好。。这是你的电话号码

    我将客户id从“xxx”更改为“您的客户id”,我看到了响应。如果您使用的是实际的客户机id而不是xxx,那么您可能只需要打印服务器响应并查看发生了什么

    我使用了下面提到的方法,效果很好

    客户端id:“您的客户端id”,重定向uri: “”


    你完全误解了这个问题。传输/接收数据没有问题。我可以通过控制台记录对象并清楚地看到数据,问题在于将JSON连接到Handlebar模板。您看到演示了吗?我使用了你的代码,我没有任何问题使用手柄渲染响应抱歉是的,你是对的,它为你工作,而不是为我。这真的很奇怪。。。我复制/粘贴了你的演示,在本地运行并上传到这里:-但仍然看到一个空白模板?!您发布的链接中的把手模板不同。这就是它不显示曲目标题的原因。不确定你是否复制粘贴了正确的代码你完全误解了这个问题。传输/接收数据没有问题。我可以通过控制台记录对象并清楚地看到数据,问题在于将JSON连接到Handlebar模板。您看到演示了吗?我使用了你的代码,我没有任何问题使用手柄渲染响应抱歉是的,你是对的,它为你工作,而不是为我。这真的很奇怪。。。我复制/粘贴了你的演示,在本地运行并上传到这里:-但仍然看到一个空白模板?!您发布的链接中的把手模板不同。这就是它不显示曲目标题的原因。不确定是否正确复制粘贴了代码