我正在尝试在使用laravel 5.4的网站中构建Messenger功能
我有一个ChatApp.vue组件,正在我的messages.blade.php中调用它。 在我的messagesController中,我有一个名为get的函数,该函数应该以response()-> json($ contacts)格式获取网站中所有用户的列表。
该功能有效,但是当我将response()-> son($ contacts)返回到我的messages.blade.php时,该页面无法加载,而是仅在浏览器中显示用户数据。
我的ChatApp.vue:
<template>
<div class="chat-app">
<Conversation :contact="selectedContact" :messages="messages"/>
<ContactsList :contacts="contacts"/>
</div>
</template>
import Conversation from './Conversation';
import ContactsList from './ContactsList';
export default {
props: {
user: {
type: Object,
required: true
}
},
data() {
return {
selectedContact: null,
messages: [],
contacts: []
};
},
mounted() {
console.log(this.user);
axios.get('/messages/messages')
.then((response) => {
console.log(response.data);
this.contacts = response.data;
});
},
components: {Conversation, ContactsList}
}
import Conversation from './Conversation';
import ContactsList from './ContactsList';
export default {
props: {
user: {
type: Object,
required: true
}
},
data() {
return {
selectedContact: null,
messages: [],
contacts: []
};
},
mounted() {
console.log(this.user);
axios.get('/messages/messages')
.then((response) => {
console.log(response.data);
this.contacts = response.data;
});
},
components: {Conversation, ContactsList}
}
我的messages.blade是我呼叫聊天应用程序的地方。
我的路线:
@extends('layouts.layout')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="card">
<div class="card-header">We Code Messenger</div>
<div class="card-body" id="app">
<chat-app :user="{{ auth()->user() }}"></chat-app>
</div>
</div>
</div>
</div>
</div>
@endsection
我的MessagesController @ get函数:
Route::get('/messages/messages', 'MessagesController@get');
我希望从中得到的结果是,当我在浏览器上转到messages.blade时,页面应该加载并且$ contacts应该发送到控制台,但是页面没有加载,只有$ contacts显示在上面。