Php 使用Pusher和Vue.js在laravel聊天中获取并发布问题
在本教程之后,使用Pusher和Vue.js在Laravel中实现一个简单的聊天时,我遇到了一个问题:。Php 使用Pusher和Vue.js在laravel聊天中获取并发布问题,php,laravel,vue.js,axios,pusher,Php,Laravel,Vue.js,Axios,Pusher,在本教程之后,使用Pusher和Vue.js在Laravel中实现一个简单的聊天时,我遇到了一个问题:。 首先,我在导航栏中的路线是: My web.php文件包含以下路径: Auth::routes(); Route::get('/', 'TweetController@index'); Route::get('tweets', 'TweetController@showTweets')->middleware('auth'); Route::post('tweets', 'Twee
首先,我在导航栏中的路线是: My web.php文件包含以下路径:
Auth::routes();
Route::get('/', 'TweetController@index');
Route::get('tweets', 'TweetController@showTweets')->middleware('auth');
Route::post('tweets', 'TweetController@sentTweet')->middleware('auth');
我在assets/js中请求的app.js文件如下:
const app = new Vue({
el: '#app',
data: {
tweets: []
},
created() {
this.showTweets();
Echo.private('chat')
.listen('TweetSentEvent', (e) => {
this.tweets.push({
tweet: e.tweet.tweet,
user: e.user
});
});
},
methods: {
showTweets() {
axios.get('/tweets').then(response => {
this.tweets = response.data;
});
},
addTweet(tweet) {
this.tweets.push(tweet);
axios.post('/tweets', qs.stringify(tweet)).then(response => {
console.log(response.data);
});
}
}
});
如您所见,我使用Axios发送请求
看起来一切正常,但GET和POST请求不起作用。控制台检查器中的错误显示:
获取404(未找到)
未捕获(承诺中)错误:请求失败,状态代码404
在createError(app.js:13931)
结算时(app.js:35401)
在XMLHttpRequest.handleLoad(app.js:13805)
获取0()
邮政404(未找到)
当我试着发帖子时:
邮政404(未找到)
get/post应指向以下方向:
但我不知道发生了什么。有什么建议吗?我绝望了:D。
提前谢谢 出现此错误是因为您使用的是绝对路径 因此,您可以将基本url存储在变量中,也可以使用相对路径 这里有一个例子
methods: {
showTweets() {
axios.get('tweets').then(response => {
this.tweets = response.data;
});
},
addTweet(tweet) {
this.tweets.push(tweet);
axios.post('tweets', qs.stringify(tweet)).then(response => {
console.log(response.data);
});
}
}
删除URL或之前的/
拯救
consturl='{{URL('/')}}'
methods: {
showTweets() {
axios.get(URL + '/tweets').then(response => {
this.tweets = response.data;
});
},
addTweet(tweet) {
this.tweets.push(tweet);
axios.post(URL + '/tweets', qs.stringify(tweet)).then(response => {
console.log(response.data);
});
}
}
希望这有助于工作顺利:D非常感谢你,伙计!拆除破折号解决了问题。