2016-01-15 82 views
0

我有一個javascript函數,它將我的服務器上的音頻文件的名稱發送到使用jquery get的php腳本。它看起來像這樣:發送文件作爲對ajax請求的響應

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)。

+0

通過AJAX檢索文件?有些東西告訴我這不是一個好主意...... –

+0

@cale_b那麼,我應該怎麼做呢?我有一個音頻文件列表,當用戶點擊列表中的一個文件時,我希望波形根據所選文件進行更改。爲此,我必須從服務器獲取文件,對嗎? – user3362334

+0

在PHP腳本中使用'readfile($ filename)'。 – Barmar

回答

0

使用PHP打開音頻文件將是一個緩慢的過程。也許你可以用PHP檢查文件的存在,然後如果文件存在,只需做這樣的事情:

header("Location: $filename"); 
+0

這需要通過網絡服務器直接訪問該文件。 – Barmar

+0

@Barmar是的,這就是OP要求的。 –