【问题标题】:How do I loop through data using ajax and mysql如何使用 ajax 和 mysql 遍历数据
【发布时间】: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


【解决方案1】:

你可以使用“for”:

var arr = [{"name":["song1","song2"],"url":["url1","url2"]}];
var names = arr[0].name; // extract names from arr
var urls = arr[0].url; // extract urls from arr
for(var i=0; i< names.length && i < urls.length; i++){
   console.log(names[i]);
   console.log(urls[i]);
}

【讨论】:

  • 谢谢,但这不是问题所在。我知道如何使用循环。我的意思是,我如何将 mysql 数据转换为常规数组,因为它在数据库中。如何将它作为数组而不是纯文本检索?
  • @guy 也许你正在寻找 JSON.parse()
  • @guy 如果 arr 是用于将其转换为数组的文本,请使用:arr = JSON.parse(arr);
猜你喜欢
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
  • 2017-01-30
  • 2017-03-05
相关资源
最近更新 更多