ajax ile birden fazla data nasıl gönderirim
burda resimi ayırt edebilmek için bir id değeri gönderip veri tabanına o şekilde kaydetmek istiyorum ama id değerini ajax ile nasıl göderirim alttaki koda entegere ederek
$.ajax({
url: "resimyukle.php",
data: new FormData(this),
type: "post",
processData: false,
cache: false,
contentType: false,
success:function(e) {
swal("Başarılı", "Resimler Başarıyla Yüklendi", "success", {
button: "Tamam",
});
}
});
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (8)
Merhaba. FormData objesine append() fonksiyonu ile ekleme yapabilirsiniz. Örnek kod:
var formData = new FormData(this);
formData.append('veriadi', 'veri içeriği');
$.ajax({
url: "resimyukle.php",
data: formData,
type: "post",
processData: false,
cache: false,
contentType: false,
success:function(e) {
swal("Başarılı", "Resimler Başarıyla Yüklendi", "success", {button: "Tamam"});
}
});
@furkanmeclis; Tekrar merhaba. "+" şeklinde bir kullanım yok. Tam yapmak istediğinizi anlamadığım için net konuşamıyorum. // koddan da anlamadım
append ile birden fazla datayı yollayabilirmiyim peki
Evet, alt alta birden fazla append kullanarak istediğiniz kadar veri gönderebilirsiniz.
ajax ile fazla bilgim yok ama bunu nasıl yapacağım hakkında bilgim yok yardımcı olamazmısın bir örnek yapabilirmisin benim için yukarıdaki kodlar örenk entegre edeceğim sisteme
<form method="post" enctype="multipart/form-data" id="coklu">
<div class="input-group-prepend">
<button class="btn btn-outline-secondary" type="submit" id="inputGroupFileAddon03">Button</button>
</div>
<input type="hidden" id="idlik" value="1" name="idlik">
<input type="file" class="form-control" id="resim" name="resim[]" aria-describedby="inputGroupFileAddon03">
</form>
<script type="text/javascript">
$("#coklu").on("submit",function(e) {
e.preventDefault();
var isim = $("#resim").val();
var idlik = $("#idlik").val();
var id = "id="+idlik;
if(isim == ""){
swal("Hata", "Lütfen Bir Resim Seçin", "error", {
button: "Tamam",
});
return false;
}else {
$.ajax({
url: "resimyukle.php",
data: new FormData(this),
type: "post",
processData: false,
cache: false,
contentType: false,
success:function(e) {
swal("Başarılı", "Resimler Başarıyla Yüklendi", "success", {
button: "Tamam",
});
}
});
}
});
</script>
kod bu birden fazla resimi konu idsine göre ekleyeceğim
append ile birden fazla datayı yollayabilirmiyim peki
bgokcol birden fazla resim gönderiyorum ama append ile sadece bir dosyayı ayalayabiliyorum
data: new FormData(this)+id,
bu şekilde id gönderemezmiyim
@bgokcol dediği gibi yapabilirsin ancak alternatif olarak şu şekildede yapabilirsin (json ile):
app.js
$.ajax({
url: "api.php",
type: "post",
data: JSON.stringify({
"name":"Yusuf"
// ...
}),
success: function(e) {
console.log(e)
}
})
api.php
<?php
$content = json_decode(file_get_contents("php://input"), true);
echo $content["name"];
?>