【问题标题】:How to edit variable passed to event in Laravel?如何在 Laravel 中编辑传递给事件的变量?
【发布时间】:2019-05-16 08:25:32
【问题描述】:

我想通过从数据库中获取路径并将原始图像解码为base64来获取图像的内容,以免将图像的真实路径暴露给最终用户。

$user->secret_image = getImage($user->secret_image); // This gets the base64 image of the path passed to it
event(new myEvent($user));

然后我有一个事件向她/他自己广播更新的数据。但问题是它不会将编辑后的数据传递到 jQuery 中的前端。当我在myEventfile_put_contents('myevent.txt', json_encode($user)); 时,我看到该文件中的值是正确的并且图像是base64,但我不知道为什么我不能在jQuery 中得到它。请注意,其他数据是正确传递的,我可以在 jQuery 中获取它们,但只有参数没有在那里编辑。

我的事件:

class myEvent implements ShouldBroadcast
{
    public $user;
    public function __construct($user)
    {
        $this->user = $user;
    }
}

jQuery:

window.Echo.channel('my-channel')
    .listen('myEvent', (update) => {
        let user = update.user;
        $('[name="first_name"]').val(user.first_name);
        console.log(user.secret_image);
    });

【问题讨论】:

    标签: jquery laravel events broadcast


    【解决方案1】:

    令人惊讶的是,我刚刚将 $user 从对象更改为数组并且它起作用了:|

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 2018-07-01
      • 2014-01-28
      • 2021-10-03
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多