このスクリプトは動作しません。ファイルを送信するたびに、スクリプトは1つのAjaxリクエストを行い、サーバーにファイルを送信する必要がありますが、空の文字列を常にシリアル化します。jQuery serialize()always empty
私のJavascriptの
$('#upload-button input:file').change(function() {
$('#upload-text').text('Sending file...');
$.ajax({
type: "GET",
url: "?url=images/send",
data: $('#image-upload').serialize(),
success: function(response) {
if(response.error) {
$('#upload-text').text(response.error);
} else if(response.success) {
$('#upload-text').text('Image send');
}
},
});
})
私のHTML私はalert($('#image-upload').serialize());
に起因する、ファイルを選択した
<form name="image-upload" id="image-upload" action="?url=imagens/enviar" method="post" enctype="multipart/form-data">
<input type="file" name="selected-image" id="upload-hidden" value="" />
</form>
:
// EMPTY //
結果alert($('#image-upload input:file').attr('value'))
から:
ponte-vecchio.jpg
jQueryでajax経由でファイルのようなマルチパートデータを送信することはできないと思います...現代のブラウザではHTML5でこれを行うことができます...むしろ、iframeにファイルを送信し、そのiframe –