2016-08-25 79 views
14

好吧,我打新laravel 5.3和vue.js,我希望做一個GET調用一些用戶我在我的DBLaravel沒有定義

進出口使用的組件BTW。

這是我app.js

require('./bootstrap'); 

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

const app = new Vue({ 

    el: 'body', 

}); 

這是我的組件User.vue我離開後尺寸原因HTML模板出來,我可以將它張貼如果neccesary

<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> 

即時得到2在控制檯中的錯誤

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

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

這是我的package.json,你可以看到我有這個所有的代價窩rk vue和vue資源

{ 
    "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" 
    } 
} 

希望有人可以幫助我在這裏。謝謝

+0

你能告訴你的'/ bootstrap.js'。變量/常量'Laravel'正在被使用而沒有被初始化。 –

+0

@NEOJPK,你可以發佈你的HTML模板嗎?我也在玩。所以它會幫助我學習。 –

+0

我再也沒有它了。但我認爲他們修好了。去抓作曲家的最新版本。然後npm install – NEOJPK

回答

37

嘗試把這個刀片,你可以看到插在默認情況下app.blade上Laravel 5.3

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

我遇到了類似的問題,我用這種方法解決了!謝謝! – Mistre83

37

或者更清潔格式:

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

不與Rocco的回答一樣。

+0

能否請您在此答案中添加更多詳細信息爲什麼我們需要這樣做? – Naeem

+1

它只是更乾淨。 –

+0

我聽說laravel需要這個來提供安全 – Danish

0

如果你使用愛可信然後確保下面是你的bootstrap.js愛可信文件導入後:

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