发送文件作为来自 ajax 请求的响应


Send file as a response from ajax request

我有一个javascript函数,它使用jquery get将服务器上音频文件的名称发送到php脚本。它看起来像这样:

function getAudioClip() {
    var x = document.getElementById("clips").value;
    $.get( "get_audio.php", { filename: x } )
      .done(function( data ) {
        loadAudioClip(data);
      });
}

该功能loadAudioClip(data)显示作为数据给出的音频文件的波形。我想让get_audio.php返回文件名为 x 的音频文件,这样我就可以使用它来使用我的 loadAudioClip(data) 函数显示波形。

编辑:我想也许我可以直接获取文件而不是使用 php,就像这样

function getAudioClip() {
    var x = document.getElementById("clips").value;
    $.get( "audio/" + x , function( data ) {
      loadAudioClip(data);
    });
}

可能吗?x 是一个文件名(例如 MyRecording02.wav)。

使用 PHP 打开音频文件的过程会很慢。也许你可以用PHP检查文件是否存在,然后如果文件存在,只需做这样的事情:

header("Location: $filename");