Veri ve dosya göndermek için formlarım için jQuery ve Ajax kullanıyorum ama nasıl veri ve dosyaları tek bir formda göndermek için emin değilim?
Şu anda her iki yöntemle hemen hemen aynı şeyi yapıyorum, ancak verilerin bir diziye toplanma şekli farklı, verileri kullanıyor .serialize();
ancak dosyaları kullanıyor= new FormData($(this)[0]);
Ajax aracılığıyla dosya ve verileri tek bir biçimde yükleyebilmek için her iki yöntemi de birleştirmek mümkün müdür?
Veri jQuery, Ajax ve html
$("form#data").submit(function(){
var formData = $(this).serialize();
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<form id="data" method="post">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<button>Submit</button>
</form>
JQuery, Ajax ve html dosyaları
$("form#files").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<form id="files" method="post" enctype="multipart/form-data">
<input name="image" type="file" />
<button>Submit</button>
</form>
Ajax aracılığıyla veri ve dosyaları tek bir formda gönderebilmek için yukarıdakileri nasıl birleştirebilirim?
Amacım Ajax ile tüm bu formları tek bir gönderiye gönderebilmek mümkün mü?
<form id="datafiles" method="post" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<button>Submit</button>
</form>
FormData
FormData
Yaklaşım, sadece dosya yükleme alanları istersen ihtiva formlarla cezası çalışmalıdır; yine de geniş çapta desteklenmemektedir.