gpt4 book ai didi

javascript - 在 JQuery Ajax 调用后将 PHP 中的 JSON 数据附加到脚本

转载 作者:行者123 更新时间:2023-12-03 01:41:32 25 4
gpt4 key购买 nike

我正在尝试在 ajax 调用后将 JSON 数据加载到我的脚本中,但我似乎无法正确处理。

我有一个 Javascript 库,它通过一组 JSON 数据加载一组音乐。例如,加载包含几首歌曲的脚本如下所示:

<script>
Amplitude.init({
"songs": [
{
"name": "Song Name 1",
"artist": "Super Dj",
"album": "2018 Super Hit",
"url": "songs/1.mp3",
"cover_art_url": "../album-art/2018superhit.png"
},
{
"name": "Song Name 2",
"artist": "Super Dj",
"album": "2018 Super Hit",
"url": "songs/2.mp3",
"cover_art_url": "../album-art/2018superhit.png"
}
]
});
</script>

现在,我尝试使用 ajax 调用从我的数据库中获取歌曲列表数据,以动态填充此歌曲列表。 PHP方面,一切都很好,数据也很好。但是,在 ajax 调用中,当我向其中添加 JSON data 时,Amplitude.init 不起作用。下面的代码将使您更好地理解我的意思:

$(".mu-container").click(function(e){
e.preventDefault();
var albumId = $(this).attr("data-album");
$("#musicContainer").fadeIn();
$("#playerRibbon").fadeIn();
$.ajax({
url: "includes/app/load_music.php",
type: "POST",
data: "album_id="+albumId,
dataType: 'JSON',
success: function(data)
{
Amplitude.init({
"songs": [
data
]
});
},
error: function(err)
{
alert(err);
}
});
});

最后,这是我的 PHP 代码,它返回 JSON 数据,我想在进行 ajax 调用后将其加载到 Amplitude.init 中:

//Database connection done above
$data = array();
foreach($songs as $song){
$data[] = array("name" => $song['title'], "artist" => $song['artist'], "album" => $song['album_title'], "url" => $song['url'], "cover_art_url" => $song['album_art']);
}

echo json_encode($data); //If I run the php as a standalone with a test ID, it works just fine

最佳答案

使用

Amplitude.init({
"songs": data
});

因为data已经是一个对象数组。

关于javascript - 在 JQuery Ajax 调用后将 PHP 中的 JSON 数据附加到脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com