私は現在、ファイルのアップロードをサポートするモバイル向けのサイトを運営しており、ユーザーがファイルをフォームにアップロードする際のアイドル時間を大幅に節約しようとしています。
私の目標は次のとおりです。
xhr = new XMLHttpRequest();
xhr.open("POST", "http://myServer/myEndpoint");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader('Content-Type', 'text');
xhr.setRequestHeader('foo', "bar");
xhr.send( myData );
//PseudoCode
if( xhr.DataIsSent ) myForm.submit();
ご覧のとおり、ユーザーがフォームを送信する前に ajax の応答を待つ必要がないようにすることを目指しています。理想的には、ユーザーの操作に関係なく、これをバックグラウンドで実行したいと考えています。
私の理解では、リクエストがディスパッチされたら、手動でキャンセルしない限りリクエストは完了しますが、サーバーに到達するデータが不完全な場合がありました。
これを確実に達成する方法についての提案は大歓迎です。これまでのところ、フォームが送信されると、部分的に完了したリクエストは終了するようです。