[英]Upload a file and corresponding data in an AJAX form
我需要在單頁(AJAX)Web應用程序中上載帶有表單的文件,但是如果沒有該面板中表單上的其余數據,該文件將無用。 只有三個INPUT
,但是一個可以是一個相當長的文本區域。 我該如何捕捉呢?
如果我使用隔離的AJAX文件上傳技術(例如Fine Uploader http://fineuploader.com/小部件)上傳文件,那么我必須處理兩個違反直覺的元素:
客戶:用戶在實際批准交易之前傳輸文件(交易的主要部分)。 然后,即使他們拒絕繼續,他們也等待完成。 UI必須禁用屏幕元素,以防止客戶端可能在文件上載之前或期間提交關聯數據的情況。 在此過程中錯誤的位置發送文件是額外的努力。
服務器:它需要票證緩存。 后端必須緩存上載的文件,並向客戶端提供該文件的票證。 客戶必須將此票證與即將到來的請求一起發送。 理想情況下,高速緩存還應在各種情況下清理舊票證,例如,取消表單,上載另一個文件或用戶會話超時。 需要更多的額外工作(盡管在我的服務器中可以使用此票務緩存功能會很不錯)。
將整個表單放在IFRAME
是明智的解決方案嗎? 我在操縱它並使它看起來像是單頁應用程序的一個很好集成的部分時會遇到問題嗎? 過去我一直都遠離他們。
我的平台是jQuery,ASP.NET MVC,常用的瀏覽器(可能還有移動設備)。
在我的情況下,只需將表單發布的目標(包括文件和文本輸入)設置為不可見的iframe
並監視iframe onload
事件,就很容易解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.