好吧,我正在使用新的laravel 5.3和vue.js,我想对我的数据库中的一些用户进行GET调用
我正在使用组件btw。
这是我的app.js.
require('./bootstrap');
Vue.component('example', require('./components/UserComponents/User.vue'));
const app = new Vue({
el: 'body',
});
这是我的组件User.vue我把HTML模板留给了帖子大小的原因我可以发布它,如果需要的话
<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,你可以看到我有这个工作vue和vue资源的所有deps
{
"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"
}
}
希望有人可以帮助我。谢谢
尝试将其放在刀片上,正如您所看到的那样,默认情况下会插入Laravel 5.3上的app.blade
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
或者更简洁的格式:
<script>
window.Laravel = { csrfToken: '{{ csrf_token() }}' };
</script>
和Rocco的答案一样。
如果您正在使用axios,那么在导入axios之后,请确保以下内容位于您的bootstrap.js文件中:
window.axios.defaults.headers.common = {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
'X-Requested-With': 'XMLHttpRequest'
};