Javascript Soundcloud对象数组为空
下面是以下Javascript和HTML(使用assemble+Handlebar),我不明白返回的SC数据为什么没有显示在HTML中?正在生成正确数量的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'
项,但它们是空的
在我的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模板。您看到演示了吗?我使用了你的代码,我没有任何问题使用手柄渲染响应抱歉是的,你是对的,它为你工作,而不是为我。这真的很奇怪。。。我复制/粘贴了你的演示,在本地运行并上传到这里:-但仍然看到一个空白模板?!您发布的链接中的把手模板不同。这就是它不显示曲目标题的原因。不确定是否正确复制粘贴了代码