2016-08-25 21 views
14

Eh ben yeni laravel 5.3 ve vue.js ile oynuyorum tanımlanmış ve benlaravel

Im kullanarak bileşenler btw benim DB i olan bazı kullanıcılar için bir GET çağrısı yapmak istiyorum değildir.

Bu karşılaşılmasına

<script> 

    export default{ 

     data : function() { 
      return { 
       users : '' 
      } 
     }, 

     methods: { 


      fetchUser: function() { 

       var vm = this; 

       vm.$http.get('user/', function (data) { 
        vm.$set('users', data) 
       }) 

      } 
     }, 
     ready() { 

      this.fetchUser(); 
     }, 

    } 
</script> 

Im 2 alma eğer

require('./bootstrap'); 

Vue.component('example', require('./components/UserComponents/User.vue')); 

const app = new Vue({ 

    el: 'body', 

}); 

Bu şimdiye sonrası boyutu nedenle dışarı HTML şablonu sol benim bileşen User.vue bunu gönderebilir benim app.js olduğunu konsoldaki hatalar

vue-resource.common.js?d39b:27 0ReferenceError: Laravel is not defined(…) 

(program):29 Uncaught (in promise) ReferenceError: Laravel is not defined(…) 

bu benim package.json'dur. Gördüğünüz gibi rk vue ve vue kaynağı

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "bootstrap-sass": "^3.3.7", 
    "gulp": "^3.9.1", 
    "jquery": "^3.1.0", 
    "laravel-elixir": "^6.0.0-9", 
    "laravel-elixir-vue": "^0.1.4", 
    "laravel-elixir-webpack-official": "^1.0.2", 
    "lodash": "^4.14.0", 
    "vue": "^1.0.26", 
    "vue-resource": "^0.9.3" 
    } 
} 

Birisi bana burada yardımcı olabilir umarım.

<script> 
    window.Laravel = { csrfToken: '{{ csrf_token() }}' }; 
</script> 

Does: Eğer

<script> 
    window.Laravel = <?php echo json_encode([ 
     'csrfToken' => csrf_token(), 
    ]); ?> 
</script> 
+0

Eğer '/ bootstrap.js' gösterebilir. Bir yerlerde değişken/sabit 'Laravel' başlatılmadan kullanılır. –

+0

@NEOJPK, HTML şablonunuzu gönderir misiniz? Ben de aynı şekilde oynuyorum. Bu yüzden öğrenmeme yardımcı olacak. –

+0

Artık sahip değilim dostum. Ama sanırım tamir ettiler. Git ve besteciden en son versión'u al. Ve sonra npm kurmak – NEOJPK

cevap

37

deneyin ederiz Rocco'nun cevabıyla aynı şey. AXIOS alındıktan sonra

+1

Ben benzer bir sorun yaşadım, ve bu şekilde çözdüm! Teşekkürler! – Mistre83

37

Veya daha temiz bir biçimi için laravel 5.3 üzerinde app.blade varsayılan olarak eklenir görebileceğiniz gibi, sizin bıçak bu adam etmek sana

+0

Bu cevaba daha fazla ayrıntı ekleyebilir misiniz, bunu neden yapmamız gerekiyor? – Naeem

+1

Sadece daha temiz. –

+0

laravel'in güvenlik sağlamak için buna ihtiyacı olduğunu duydum – Danish

0

sonra aşağıdaki sağlamak AXIOS olarak kullanıyorsanız, bootstrap.js dosyasında geçerli:.

window.axios.defaults.headers.common = { 
    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'), 
    'X-Requested-With': 'XMLHttpRequest' 
};