我讀過很多文章等,試圖解釋爲什麼一個文件(例如附件等)無法通過AJAX上傳(至少在場景後面沒有一些「技巧」)。任何人都可以解釋爲什麼文件不能使用AJAX上傳?
任何人都可以解釋清楚和簡單,AJAX這個'功能'的技術原因?
我讀過很多文章等,試圖解釋爲什麼一個文件(例如附件等)無法通過AJAX上傳(至少在場景後面沒有一些「技巧」)。任何人都可以解釋爲什麼文件不能使用AJAX上傳?
任何人都可以解釋清楚和簡單,AJAX這個'功能'的技術原因?
他們可以。它是XMLHttpRequest,不能用於上傳文件。 (但Ajax比XHR更多)
這是因爲,出於安全原因,JavaScript無法從文件系統讀取,因此無法將文件交給XHR。
你能舉一個例子說明你的意思嗎? (即,演示如何使用您提到的「擴展AJAX」來加載文件的片段 – 2009-12-30 09:58:16
將表單提交到隱藏的iframe。 – Quentin 2009-12-30 10:31:52
出於安全原因,現代瀏覽器不允許Javascript訪問查看器計算機上的文件。
文件上傳通過一個名爲multipart/form-data的標準執行。 Javascript沒有辦法讀取客戶端計算機上的文件內容。
只是因爲JavaScript無法訪問文件系統...出於明顯的安全原因。
Fie API(http://www.w3.org/TR/FileAPI/)將解決這個問題,firefox 3.6確實支持它(例如:http://hacks.mozilla.org/2009/12/uploading-files -with-xmlhttprequest /) – Arjan 2009-12-30 10:07:25