2012-11-22 29 views
1

我試圖使用jQuery post()方法如下創建下載鏈接:

$.post('file.php', {name:'name', id:'id'}, 
function(data){ 
    $('#downloadFrame').src = data.url; 
}); 
return true; 

但總是data.url返回空/不明,也創造了形式和提交它可能適用於我的代碼。 我在論壇上搜索了很多帖子,但沒有一個能夠正常工作。

謝謝。

+0

是什麼'file.php'返回? – FixMaker

+0

它應該根據輸入(pdf,xml,...)返回二進制數據。 也當我嘗試提醒'數據'時,它確實顯示了文件字節。 –

+0

在這種情況下,使用JQuery的'.post()'方法可能不會起作用。首先,該框架將不會看到「Content-Type」標題,因此無法計算返回的數據應如何顯示。 您提到的使用表單提交請求的方法可能是更好的方法。此方法在[此問題](http://stackoverflow.com/q/1003973/981208)中進行了討論。 – FixMaker

回答

0

您需要訪問數組數據的零元,所以用data[0].url

變化

function(data){ 
    $('#downloadFrame').src = data.url; 
}); 

function(data){ 
    $('#downloadFrame').src = data[0].url; 
}); 
+0

好了,data [0],返回php文件輸出的第一個字節,仍然url返回null。 –