単一ページ (AJAX) Web アプリケーションでフォームを含むファイルをアップロードする必要がありますが、そのパネルのフォームに残りのデータがなければファイルは役に立ちません。は 3 つしかありませんINPUT
が、1 つが非常に長いテキスト領域になる可能性があります。どうすればこれをキャプチャできますか?
分離された AJAX ファイル アップロード手法 (Fine Uploader http://fineuploader.com/ウィジェットなど)を使用してファイルをアップロードする場合、直感に反する 2 つの要素を処理する必要があります。
クライアント: ユーザーは、トランザクションを実際に承認する前に、トランザクションの主要部分であるファイルを送信します。次に、続行を拒否しても、これが完了するのを待ちます。ファイルのアップロード前またはアップロード中にクライアントが関連データを送信するシナリオを防ぐために、UI は画面要素を無効にする必要があります。プロセスの間違った時点でファイルを送信すると、余計な手間がかかります。
サーバー: チケット キャッシュが必要です。バックエンドは、アップロードされたファイルをキャッシュし、このファイルのチケットをクライアントに提供する必要があります。クライアントは、次のリクエストでこのチケットを送信する必要があります。理想的には、フォームがキャンセルされた場合、別のファイルがアップロードされた場合、またはユーザー セッションがタイムアウトした場合など、さまざまな状況でキャッシュが古いチケットをクリーンアップする必要もあります。さらに余分な作業が必要です (ただし、このチケット キャッシュ機能は私のサーバーにあると便利です)。
代わりにフォーム全体を に配置するのは賢明な解決策IFRAME
ですか? それを操作して、シングルページ アプリケーションの一部として適切に統合されているように見せるのに問題はありますか? 私は過去にいつも彼らから離れていました。
私のプラットフォームは、jQuery、ASP.NET MVC、通常のブラウザー (およびおそらくモバイル) です。