この質問は重複しているかもしれませんが、それぞれの方法について確認していますが、いずれも機能していないようです。formDataは追加も送信もしません
基本的に私の問題は、FormData()です。 FormData(myform)を使用してインスタンスを作成するか、formend(formdata()をappendと単独でスタンドアロンするかどうかは関係ありません)。ここで
は、私が上でこれをテストしています私のコードです:
HTML
<form id="form">
<input type="hidden" name="id" id="id" value="1">
<input type="text" name="title" id="title">
<select name="category" id="category">
<option value="1">1</option>
</select>
<textarea name="desc" id="desc"></textarea>
<input type="file" name="cover" id="cover">
<div id="content">
Hello World
</div>
<input type="submit" name="submit" value="Submit">
</form>
<script src="js/jquery-2.2.1.js"></script>
<script src="js/now.js"></script>
JAVASCRIPT(now.js)
$('#form').on('submit', function(e){
e.preventDefault();
var myform = e.target;
var inputfile = document.querySelector('#cover');
var formData = new FormData(myform);
formData.append('file', inputfile.files[0]);
//formData.append('cover', $('input[type=file]')[0].files[0]);
var xhttp = new XMLHttpRequest();
xhttp.open('POST', 'data.txt', true);
xhttp.send(formData);
});
私はいくつかの助けみんなが大好きです。
PS。 Console.log(formData)は混乱し、後でそれを見ても何も見えません。また、ネットワークタイムラインは実行されますが、出力はありません。
おかげでみんな、
あなたはどのブラウザを使用していますか? –
'#cover'要素はフォームの一部であり、そのために' formData'にすでにあります。なぜあなたは 'FormData'に最初のファイルを追加しようとしていますか? – Andreas
フォームに 'enctype =" multipart/form-data'を追加しようとしました!!! –