Formdataについて
xmlhttprequestレベル2が新しいインターフェイスを追加しました--- formdata
FormDataオブジェクトを使用して、JSを介してキー価値のペアを使用して一連のフォームコントロールをシミュレートできます。 xmlhttprequestのsend()メソッドを使用して、フォームを非同期に送信できます。通常のAJAXと比較して、FormDataを使用する最大の利点は、バイナリファイルを非同期にアップロードできることです。
formdataオブジェクト
FormDataオブジェクトは、すべてのフォーム要素の名前と値のクエリストリングを形成し、背景に送信できます。 formdataオブジェクトを使用すると、ajaxを使用して送信する際のステッチクエリストリングのワークロードを減らすことができます
QueryStringはクエリ文字列です。HTTPクエリ文字列はURLからですか?次の値が指定されています
ページ上のフォームがGetモードで要求されたデータをページに送信すると(データに安全でない文字が含まれている場合、ブラウザは最初に16進文字に変換してから、スペースが%20に変換されたときなどを送信します)、Webサーバーは要求されたデータをquery_stringと呼ばれる環境変数に配置します。 request.querystringの方法は、この環境変数から対応する値を取り出し、16進数に変換された文字を復元することです。
FormDataを使用してファイルと写真をアップロードします
FormDataの空のオブジェクトを作成し、Appendメソッドを使用してキー/値を追加します
var formdata = new formdata(); formdata.append( "name"、 "Zhang San");
フォームフォームが既にある場合は、フォームオブジェクトを取得し、パラメーターとしてformDataオブジェクトに渡します
<!doctype html> <html> <head> <meta charset = "utf-8"/> <title> </head> </head> <body> <form name = "form1" id = "form1"> <input id = "file" type = "file" name = "name"> </input> </<script = "> javascript"> javascript; var formdata = new formdata(form); </script> </body> </html>
既存のフォームデータに基づいて、新しいキー価値ペアを引き続き追加できます。
var formdata = new formdata(); formdata.append( "age"、 "21");
FormDataオブジェクトを使用してファイルをアップロードします
var formdata = new formdata($( "#form1") //formdata.append( "file"、$( "#file")[0] .files [0]); //ファイルメソッド2 $ .ajax({type: 'post'、url: '#'、formdata、formdata:false、processdata:false、//送信されたデータは、データが必要です。コンテンツタイプのリクエストヘッダーの成功を設定しない:function(){}エラー:function(){}})上記は、編集者が紹介したJSのファイルと写真をアップロードするためにFormDataを使用する方法の完全な説明です。私はそれが誰にでも役立つことを願っています。ご不明な点がございましたら、メッセージを残してください!