gpt4 book ai didi

javascript - ajax和php返回多个值

转载 作者:行者123 更新时间:2023-12-03 06:51:04 25 4
gpt4 key购买 nike

这是我第一次使用 AJAX,我正在创建一个鼓循环生成器,而不必刷新页面来创建新循环,我想尝试 AJAX。

当单击#button1时,它会运行generate.php,我试图从generate.php echo返回多个值并将它们放置在页面上的不同元素中。

不同的值是要放置在音频 src 中的文件 url、背景图像 url、循环的小节数以及循环的 BPM。它们在 php echo 中用逗号分隔。

当我点击按钮时,Google 开发者工具中出现错误,显示“jquery-1.7.1.min.js:4 GET https://whatever.com/random/undefined 404 (Not Found)”

按钮:

<div id="button1"><div class="namething">Generate</div></div>

Jquery

<script>
$('#button1').click(function(){
$.ajax({
type:'post',
url:'generate.php',
data: $(this).val(),
success: function(value){
var data = value.split(",");
$('#fileurl').val(data[0]);
$('body').css('background-image', 'url(' + data[1] + ')');
$('#bars').val(data[2]);
$('#bpm').val(data[3]);
}
});
});
</script>

generate.php(它在此之前执行函数,但这是我需要返回到 jquery 和页面其余部分的唯一数据)

echo $fileurl,$imageurl,$bars,$randbpm;

我不确定,但我认为它与 jQuery 中的“data:”有关,我只需要找出如何返回回显数据

当我单击按钮时,它正在工作并创建一个新循环,它只是没有正确返回回显数据,所以我知道generate.php的路径是正确的

编辑:(解决方案)

感谢@Thamilan 的帮助!我必须对 jquery 进行一些小更改才能更新音频播放器,现在一切都按预期工作:

Jquery

<script>
$('#button1').click(function(){
$.ajax({
type:'post',
url:'generate.php',
data: $(this).val(),
dataType: 'json',
success: function(data){
var fileName = data[0];
$("#music").attr("src",fileName).trigger("play");
$('#timeline').css('background-image', 'url(' + data[1] + ')');
$('#bars').text(data[2]);
$('#bpm').text(data[3]);
}
});
});
</script>

PHP:

$returnArr = [$fileurl,$imageurl,$bars,$randbpm];    
echo json_encode($returnArr);

最佳答案

generate.php中将它们添加到数组中并编码为 JSON 并发送。在AJAX中获取JSON,打印出来。

使您的 AJAX 类似于:

$.ajax({
type:'post',
url:'generate.php',
data: $(this).val(),
dataType: 'json', //Added this
success: function(data){ //value to data
$('#fileurl').val(data[0]);
$('body').css('background-image', 'url(' + data[1] + ')');
$('#bars').val(data[2]);
$('#bpm').val(data[3]);
}
});

生成.php

$returnArr = [$fileurl,$imageurl,$bars,$randbpm];    
echo json_encode($returnArr);

关于javascript - ajax和php返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494128/

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