0
こんにちは、私はLaravel webappの開発中で、イベントbroacasting troug redisとsocket.ioを使用しています。すべて正常に動作していますが、イベントの応答としてレンダリングされたビューを返すようにしています。 ミイベントは次のようなものです:イベントブロードキャストの応答としてビューをレンダーする
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class EventName implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public $data;
public function __construct()
{
$this->data = array(
'power'=> 'Funziona',
'view'=> view('dashboard.partials.messages')->render()
);
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return ['test-channel'];
}
}
と私はページ上のレスポンスをレンダリングするためにこのコードを使用します。
<script src="/frontend/socket.io.js"></script>
<script>
var socket = io('http://1clickfashion.com:3002');
socket.on("test-channel:App\\Events\\EventName", function(message){
// increase the power everytime we load test route
alert(message.data.power);
$('#messages').html('');
$('#messages').html(message.data.view);
});
</script>
「電源」警告が正しく表示されますが、ビューのように動作しません。よく別のビューでは、私はreturn response()->json($view)
としてビューを使用しており、完璧に動作しています...誰かに同様の問題がありますか?