Php 使用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

在本教程之后,使用Pusher和Vue.js在Laravel中实现一个简单的聊天时,我遇到了一个问题:。

首先,我在导航栏中的路线是:

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非常感谢你,伙计!拆除破折号解决了问题。