【发布时间】:2018-08-26 10:05:02
【问题描述】:
我们有一个学校项目,我需要使用预制的 PHP api 仅使用 javascript 或 jquery 创建一个 mp3 专辑播放列表(不允许使用 php)。 我可以使用 ajax 调用输入数据。 我需要能够使用其网址输入不止一首歌曲。 我设法以这种方式将数据输入到数据库中名为 songs 的列中。:
[{"name":["song1","song2"],"url":["url1","url2"]}]
如何使用 Javascript 或 jQuery 循环并显示为列表?
这是我正在使用的 ajax 调用。
function getsongs(index, name, url){
$.ajax({
url: "api/playlist.php?type=songs&id=" + index,
method: 'GET',
data: {
"songs": [
{
"name": name,
"url": url
},
] },
success: function(response, playlist){
// Need to loop here?
},
error: function(xhr){
console.log('error')
console.log(xhr)
}
}); }
谢谢。
【问题讨论】:
-
你有一个包含单个对象的数组,该对象包含两个数组。如果您假设它们的长度相等并且每个索引处的条目始终对应,那么您可以简单地使用
for循环遍历名称数组并使用相同的索引变量来访问每个例如response[0].name[i](其中 i=0)会得到“song1”,response[0].url[i]会得到 url1。但是使用对象结构可能会更好,因此每首歌曲都是具有所有属性的单个对象,例如[{ "name": "song1", "url": "url1" }, { "name": "song2", "url": "url2" }] -
这将是一种更传统且更易于管理的结构,并且可以更好地代表每首歌曲。然后你也可以很容易地循环它。
-
API 不可编辑。我必须以这种方式使用它。
-
真可惜,因为它是一种愚蠢、低效的数据结构。下面的答案应该提供您在使用该结构时正在寻找的内容。
标签: javascript jquery ajax api loops