フォーム入力テキストと、アップロードおよびサイズ変更されているクライアント側の画像の両方をphpページに送信しようとしています。
画像は正常に送信されていますが、テキストデータを追加しようとすると、機能しません。
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(ev){
document.getElementById('filesInfo').innerHTML = 'Done!';
};
xhr.open('POST', 'uploadResized.php', true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var data = new FormData();
data = 'image=' + dataURL;
data.append('Name', 'test');
xhr.send(data);
文字列を追加してテストしようとすると、データがまったく送信されません。ただし、追加がなくても送信されます。情報を追加するにはどうすればよいですか?
そうするときdata = 'image=' + dataURL;
は、vardata
を文字列として再定義すると思います。そのため、名前の追加メソッドは失敗しています。私はあなたが2つのオプションがあると思います:
1:formData()コンストラクターの使用:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(ev){
document.getElementById('filesInfo').innerHTML = 'Done!';
};
xhr.open('POST', 'uploadResized.php', true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var data = new FormData();
data.append('image', dataURL);
data.append('Name', 'test');
xhr.send(data);
2:formData()コンストラクターを使用しない:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(ev){
document.getElementById('filesInfo').innerHTML = 'Done!';
};
xhr.open('POST', 'uploadResized.php', true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var data = 'image=' + dataURL + '&Name=test';
xhr.send(data);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加