Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何定位http://localhost:8000/broadcasting/auth 419(未知状态)发送事件到推进器时_Laravel_Vue.js_Pusher - Fatal编程技术网

Laravel 如何定位http://localhost:8000/broadcasting/auth 419(未知状态)发送事件到推进器时

Laravel 如何定位http://localhost:8000/broadcasting/auth 419(未知状态)发送事件到推进器时,laravel,vue.js,pusher,Laravel,Vue.js,Pusher,我正在创建一个聊天应用程序和拉威尔和普什,需要帮助广播事件从和到普什端点 经过数小时的搜索和尝试,我在网上看到的解决方案是将csrf令牌添加到我的标题中,因为laravel在每篇帖子上都需要这个。我已经尝试在html中将csrf_标记添加到我的head标记中,以删除错误,但仍然获得POST 419(未知状态)。此外,我还要确保正确添加了API凭据。所有这些我都做了,但仍然没有得到。另外,我还有一个私有通道,我已经在channels.php中通过使其返回true进行了身份验证 这是我的app.js

我正在创建一个聊天应用程序和拉威尔和普什,需要帮助广播事件从和到普什端点

经过数小时的搜索和尝试,我在网上看到的解决方案是将csrf令牌添加到我的标题中,因为laravel在每篇帖子上都需要这个。我已经尝试在html中将csrf_标记添加到我的head标记中,以删除错误,但仍然获得POST 419(未知状态)。此外,我还要确保正确添加了API凭据。所有这些我都做了,但仍然没有得到。另外,我还有一个私有通道,我已经在channels.php中通过使其返回true进行了身份验证

这是我的app.js

const app = new Vue({
el: '#app',
data: {
    message: '',
    chat: {
        message:[],
        user:[],
        color:[],
        "_token": "{{ csrf-token() }}"
    },
},

methods: {
    send(){
        if (this.message.length != 0){
            this.chat.message.push(this.message);
            this.chat.user.push("You");
            this.chat.color.push("success");
            axios.post('/send', {
                message : this.message,
              })
              .then(response =>  {
                console.log(response);
                this.message = '';
              })
              .catch(error =>  {
                console.log(error);
              });
        }

    }
},

mounted() {
    Echo.private('private-chat')
        .listen('ChatEvent', (e) => {
            this.chat.message.push(e.message); 
            this.chat.user.push(e.user);
            this.chat.color.push("warning");
            console.log(e);
    });
}

如果出于安全目的发送请求时未使用csrf令牌,则会发生此错误,因此需要通过将此标记添加到HTML的头部将其添加到请求中

<meta name="csrf-token" content="{{ csrf_token() }}">

如果出于安全目的发送请求时未使用csrf令牌,则会发生此错误,因此您需要通过将此标记添加到HTML标题将其添加到请求中

<meta name="csrf-token" content="{{ csrf_token() }}">



哪些中间件正在websockets路线上运行?它只能是
auth:api
而不是
web
等。最简单的配置方法是在
routes/api.php
文件中设置路由,并将客户端指向
app.dev/api/websockets
端点。谢谢@stokoe0990。这就是我在api.php中的内容。请你多给我指点指点好吗<代码>路由::中间件('auth:api')->get('/user',函数(Request$Request){return$Request->user();})你有没有让WebSocket正常工作?在控制台的客户端页面中,您是否得到连接ws://localhost:6001或类似内容失败的消息?否。。它正在成功连接到WebSocket。我可以从pusher调试控制台看到连接。那么它连接的是在websockets路线上运行的哪些中间件?它只能是
auth:api
而不是
web
等。最简单的配置方法是在
routes/api.php
文件中设置路由,并将客户端指向
app.dev/api/websockets
端点。谢谢@stokoe0990。这就是我在api.php中的内容。请你多给我指点指点好吗<代码>路由::中间件('auth:api')->get('/user',函数(Request$Request){return$Request->user();})你有没有让WebSocket正常工作?在控制台的客户端页面中,您是否得到连接ws://localhost:6001或类似内容失败的消息?否。。它正在成功连接到WebSocket。我可以从pusher调试控制台看到连接。所以它是连接银行的。我已经这样做了,但是仍然得到了同样的错误。请给你的答案添加一些解释,以便其他人可以从中学习。@NicoHaase现在更好了吗?!!我想将我的解决方案评为againIt更好——但据我所见,令牌已经添加到
\u data
对象中。将其添加为
meta
标记如何改变任何事情?Vue是否自动拾取该标记?应将其写入
csrf标记
而不是
\u标记
谢谢。我已经这样做了,但是仍然得到了同样的错误。请给你的答案添加一些解释,以便其他人可以从中学习。@NicoHaase现在更好了吗?!!我想将我的解决方案评为againIt更好——但据我所见,令牌已经添加到
\u data
对象中。将其添加为
meta
标记如何改变任何事情?Vue是否自动拾取该标记?应写入
csrf标记
而不是
\u标记