簡體   English   中英

如何輕松提交文件而無需提交表單(使用jQuery + AJAX)

[英]How to easily upload files without form submission (with jQuery + AJAX)

所以我有一些表單處理代碼,可以處理標准文本輸入和上載文件(通過$ _FILES數組)

我想通過AJAX完成提交

jQuery的post()。 方法仍然通過-> $ _FILES傳遞這些東西,還是我需要做一些特別的事情?

Ajax(使用JavaScript定義)無法執行文件上傳,因為JavaScript無法訪問本地文件系統。 有一些使用Ajax的變通辦法,例如iframe或Flash。

搜尋Google,您會發現一些東西。 還有更多的庫(例如,YUI)將它們組合在一起。

要通過Ajax上傳文件,您需要使用使用iframe或Flash的解決方法。

我建議您Uploadify ,它使用Flash進行上傳,並使用jQuery。 我喜歡它具有許多設置的事實,並且它具有用於隊列處理的漂亮默認樣式。 只需按照說明在您的網站上進行設置即可。

在PHP腳本中,您將收到$ _FILES數組中的文件,就像它是通過表單的常規提交一樣,默認名稱為'Filedata',因此您可以通過$ _FILES ['Filedata']訪問文件。 然后,僅回顯Ajax請求(JSON或XML)的響應,並為Uploadify'onComplete'事件執行一些JS代碼。

您可以嘗試使用HTML 5的文件上傳API,這需要他們將文件拖放到瀏覽器窗口中。 在此處了解更多信息: http : //www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload

此外,您可以對Google Gears做同樣的事情(需要安裝IE,但Chrome上是默認安裝)。

可以檢測到其中任何一個並優雅地降級。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM