Giriş yapmadınız.

Duyuru

TÜRKÇE KİTAP DUYURUSU:
Laravel 5 : Laravel 5.1 Güzelliği (Türkçe)
Vue.js 2 : Vue.js 2 Majesteleri (Türkçe)

#1 20.05.2016 22:21:27

kzorluoglu
Üye
Kayıtlı: 27.12.2015
Mesajlar: 194

Laravel Destroy icin laravel.js

Veritabanindan herhangi birseyi silmek icin malumunuz hep form olusturmak zorundaydik. bu js dosyasi ile bundan kurtuluyoruz..

laravel.js

/*
Exemples : 
<a href="posts/2" data-method="delete" data-token="{{csrf_token()}}"> 
- Or, request confirmation in the process -
<a href="posts/2" data-method="delete" data-token="{{csrf_token()}}" data-confirm="Are you sure?">
*/


(function() {
 
  var laravel = {
    initialize: function() {
      this.methodLinks = $('a[data-method]');
      this.token = $('a[data-token]');
      this.registerEvents();
    },
 
    registerEvents: function() {
      this.methodLinks.on('click', this.handleMethod);
    },
 
    handleMethod: function(e) {
      var link = $(this);
      var httpMethod = link.data('method').toUpperCase();
      var form;
 
      // If the data-method attribute is not PUT or DELETE,
      // then we don't know what to do. Just ignore.
      if ( $.inArray(httpMethod, ['PUT', 'DELETE']) === - 1 ) {
        return;
      }
 
      // Allow user to optionally provide data-confirm="Are you sure?"
      if ( link.data('confirm') ) {
        if ( ! laravel.verifyConfirm(link) ) {
          return false;
        }
      }
 
      form = laravel.createForm(link);
      form.submit();
 
      e.preventDefault();
    },
 
    verifyConfirm: function(link) {
      return confirm(link.data('confirm'));
    },
 
    createForm: function(link) {
      var form = 
      $('<form>', {
        'method': 'POST',
        'action': link.attr('href')
      });
 
      var token = 
      $('<input>', {
        'type': 'hidden',
        'name': '_token',
        'value': link.data('token')
        });
 
      var hiddenInput =
      $('<input>', {
        'name': '_method',
        'type': 'hidden',
        'value': link.data('method')
      });
 
      return form.append(token, hiddenInput)
                 .appendTo('body');
    }
  };
 
  laravel.initialize();
 
})();

kullanimi gayet basit, js dosyasinin basindada bulunmakta.

<a href="posts/2" data-method="delete" data-token="{{csrf_token()}}" data-confirm="Are you sure?">

Kaynak : https://gist.github.com/soufianeEL/3f8483f0f3dc9e3ec5d9

Son düzenleyen kzorluoglu (20.05.2016 22:22:32)

Çevrimdışı

#3 21.05.2016 12:49:09

loc
Üye
Yer: İstanbul
Kayıtlı: 08.06.2015
Mesajlar: 270
Website

Yanıt: Laravel Destroy icin laravel.js

Projelerimde kullanacağım. Teşekkürler.

Çevrimdışı

#4 21.05.2016 20:43:48

m.erin
Üye
Yer: Konya
Kayıtlı: 26.12.2012
Mesajlar: 165
Website

Yanıt: Laravel Destroy icin laravel.js

Harika, teşekkürler smile

Çevrimdışı

Forum alt kısmı