2013-02-19 20 views
0

,我添加了輸入文件。

<input name="uploadedFile" type="file" size="50" accept="application/pdf" /> 

而且我有這樣的ajax:

$("#submit").click(function() { 
    $.ajax({ 
    type: "POST", 
    url: "submit.php", 
    data: $("form").serialize(), 
    success: function(result){ 
     alert(result); 
    }); 
    return false; 
}); 

如何傳遞的文件數據submit.php並上傳在submit.php使用的代碼。謝謝。

+0

那麼,我應該使用先生除了序列化和枚舉窗體內的所有元素? – user1742983 2013-02-19 20:50:44

回答

7

jQuery序列化不支持文件類型輸入。從文檔:

來自文件選擇元素的數據未被序列化。

您將需要使用HTML5 FileReader API推出自己的解決方案,以base64編碼的字符串形式讀取輸入內容。

更可能的是,您會希望使用傳統的HTML表單提交,並完全避免使用AJAX。

+0

除了序列化之外,_XHR_不支持文件輸入,直到引入帶有HTML5的File API – 2013-02-19 20:50:57

+1

@ColinMorelli不,我的意思是* jQuery.serialize *不支持文件輸入。它與XHR無關。 – meagar 2013-02-19 20:52:06

+0

對。我不是故意說「小調」,因爲它不是一種修正,而是對你的回答的補充。我的觀點是,即使jQuery.serialize支持的文件,XHR仍然不適用於所有瀏覽器。 – 2013-02-19 20:52:51

相關問題