我正在向数据库发送ajax请求并获得音频链接作为响应 链接在变量中是准确的,但在源标记中没有绑定。
这是我用来播放音频的html代码
function play(){
}
<button id="play_btn" onclick="play()" class="playing"></button>
<audio id="myAudio" >
<source src="" id="audio_source" type="audio/mpeg">
</audio>
这是获取和分配音频链接的功能
$('#cmbSura').change(getSurah);
function getAudio(){
$.ajax({
url:'Temp_url',
type: 'post',
data: {
"_token": "toker generate",
"audio_id" : 12,
},
beforeSend: function(){
document.getElementById("wait").style.display = "block";
},
complete: function(){
},
success: function (response)
{
document.getElementById("wait").style.display = "none";
link = "temp_url/audios/"+item.link_to_audio;
alert(link);
$("audio #audio_source").attr('src',"'"+link+"'");
}
});
}
<button id="play_btn" onclick="getAudio()" class="playing"></button>
<audio id="myAudio" >
<source src="" id="audio_source" type="audio/mpeg">
</audio>
答案 0 :(得分:0)
尝试一下:我不确定响应类型,但是从您的编码来看,我认为它应该是JSON
,所以我将其JSON
对待。
$('#cmbSura').change(getSurah);
function getAudio(){
$.ajax({
url:'Temp_url',
dataType: 'json',
type: 'post',
data: {
"_token": "toker generate",
"audio_id" : 12,
},
beforeSend: function(){
document.getElementById("wait").style.display = "block";
},
complete: function(){
},
success: function (item)
{
document.getElementById("wait").style.display = "none";
var link = "temp_url/audios/"+item.link_to_audio;
alert(link);
$("audio #audio_source").attr('src', link);
}
});
}
<button id="play_btn" onclick="getAudio()" class="playing"></button>
<audio id="myAudio" >
<source src="" id="audio_source" type="audio/mpeg">
</audio>
将其复制到文本编辑器中,并用适当的名称更改_token
,也不要忘记添加jQuery