Merhaba.
Yeni yeni öğrenmeye çalışıyorum Laravelii. Şöyle bir işlem yapmaya çalışıyorum, veri kaydetme ve veri güncelleme. Bu form ile veriyi kaydedip güncelliyorum ama sayfa yenilenmeden bunu yapmak istiyorum. İşlem başarılı, istediğim şekilde sweet alert uyarısı geliyor. Tek sorunum sayfa yenileniyor. Aşağıdaki kodları bir sitedeki örneğe bakarak kendime göre uyarladım ama beceremedim. Sayfayı yenilemeden form gönderme işlemini nasıl yapabilirim? Canlı ve çalışan bir örnek varsa onu da inceleyebilirim. 5.6 sürümü kullanıyorum bu arada.
blade dosyasındaki form içeriği:
<form method="POST" action="" id="site_ayarlar">
{{ csrf_field() }}
<!-- Tab panes -->
<div class="tab-content tabs-bordered">
<div class="tab-pane fade in active" id="genel">
<div class="form-group">
<label class="control-label">Site Başlığı</label>
<input type="text" class="form-control boxed" placeholder="Site Başlığı" name="site_basligi" id="site_basligi">
</div>
<div class="form-group">
<label class="control-label">Site Tanımı</label>
<input type="text" class="form-control boxed" placeholder="Site Tanımı" name="site_tanimi" id="site_tanimi">
</div>
<div class="form-group">
<label class="control-label">Site Adresi</label>
<input type="text" class="form-control boxed" placeholder="Site Adresi" name="site_adresi" id="site_adresi">
</div>
<div class="form-group">
<label class="control-label">Meta Açıklaması</label>
<input type="text" class="form-control boxed" placeholder="Meta Açıklaması" name="meta_aciklamasi" id="meta_aciklamasi">
</div>
</div>
<div class="tab-pane fade" id="sosyal_medya">
<div class="form-group">
<label class="control-label">Facebook URL</label>
<input type="text" class="form-control boxed" placeholder="Facebook Adresi" name="facebook" id="facebook">
</div>
<div class="form-group">
<label class="control-label">Twitter URL</label>
<input type="text" class="form-control boxed" placeholder="Twitter Adresi" name="twitter" id="twitter">
</div>
<div class="form-group">
<label class="control-label">Instagram URL</label>
<input type="text" class="form-control boxed" placeholder="Instagram Adresi" name="instagram" id="instagram">
</div>
</div>
<div class="tab-pane fade" id="google_analytics">
<div class="form-group">
<label class="control-label">Google Analytics Kodu</label>
<textarea rows="3" class="form-control boxed" name="google_analytics" id="google_analytics"></textarea>
</div>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="kaydet">Kaydet</button>
</div>
</form>
<script>
//Form post code
$(document).ready(function() {
// on button click we are getting values by input name.
$("#kaydet").click(function(e){
e.preventDefault();
var _token = $("input[name='_token']").val(); // get csrf field.
var site_basligi = $("input[name='site_basligi']").val();
var site_tanimi = $("input[name='site_tanimi']").val();
var site_adresi = $("input[name='site_adresi']").val();
var meta_aciklamasi = $("input[name='meta_aciklamasi']").val();
var facebook = $("input[name='facebook']").val();
var twitter = $("input[name='twitter']").val();
var instagram = $("input[name='instagram']").val();
var google_analytics = $("textarea[name='google_analytics']").val();
$.ajax({
url: "<?php echo url('/ayarlar-sakla');?>",
type:'POST',
data: {_token:_token, site_basligi:site_basligi, site_tanimi:site_tanimi, site_adresi:site_adresi, meta_aciklamasi:meta_aciklamasi, facebook:facebook, twitter:twitter, instagram:instagram, twitter:twitter, google_analytics:google_analytics},
success: function(data) {
// No error empty the field and previous error msg if any.
if($.isEmptyObject(data.error)){
$(".print-error-msg").find("ul").html('');
$(".print-error-msg").css('display','none');
$(".print-success-msg").html('');
$(".print-success-msg").css('display','block');
$(".print-success-msg").html(data.success);
$("input[name='name']").val('');
$("input[name='contemail']").val('');
$("input[name='contmobile']").val('');
$("input[name='subject']").val('');
$("textarea[name='message']").val('');
}else{
errorMsg(data.error);
}
}
});
});
});
</script>
Controller içindeki güncelleme bölümü:
public function ayarlar_kaydet(Request $request)
{
unset($request['_token']);
$ayarlar = Ayar::where('id',1)->update($request->all());
if ($ayarlar) {
alert()->success('Başarılı', 'Ayarlar Kaydedildi')->autoClose(5000);
return back();
}
else {
alert()->error('Başarısız', 'Ayarlar Kaydedilemedi')->autoClose(5000);
}
}