フォームを送信してページをリロードする代わりに、JSON フォーム データを websocket サーバーに送信したいと考えています。
AJAX では、ネイティブのFormData() web-api オブジェクトのおかげで、非常にシンプルで簡単です。
myform.addEventListener("submit",function(e) {
e.preventDefault();
var xhr = new XMLHttpRequest();
xhr.onload = myFormHandler.bind(xhr);
xhr.open('POST',myform.action,true);
xhr.send(new FormData(myform));
}
フォーム データを JSON オブジェクトに変換し、次のように使用するために、webSockets に同様の機能があると便利です。
myWebSocket.omessage = myFormHandler;
myform.addEventListener("submit",function(e) {
e.preventDefault();
myWebSocket.send(JSONformData);
}
しかし、参照 (上記のリンクを参照) によると、FormData には追加メソッドしかないため、フォーム データを websocket サーバーに送信してそこで抽出する方法がわかりません。
code.google.com で、必要なものに非常に近いものを見つけました: form2js ですが、ファイルを処理できません ( FileReader.readDataAsURLを使用して実行できます)。そのコードにファイル処理機能を追加する必要がありますか、それとも FormData オブジェクトのようなネイティブソリューションはありますか?