如何使用 Phoenix Framework 获取数据

How to fetch data using Phoenix Framework?

本文关键字:获取 数据 Framework Phoenix 何使用      更新时间:2023-09-26

我有一个安装了Phoenix框架的服务器。现在,我正在尝试使用他们的客户端JS库获取从服务器发送的数据但是我被困在中间,没有文档/教程,无论如何如何实现它并在客户端运行它。

在过去的几个小时里,我一直在挖掘,但不幸的是,几乎没有关于我正在寻找的资源。

目前,我有一个 HTML/JS 页面,我想在其中预览使用客户端库获取的数据。

指南中很好地涵盖了这些机制。

连接到频道时,您可以执行以下操作:

channel = socket.channel("yourchannel", {});
channel.join().receive("ok", successFunction);
channel.on("all_users", function(users) { /* do something with users */ });
channel.push("get_all_users", {});

在您的用户频道中:

def handle_in("get_all_users", payload, socket) do
  users = Repo.all(User)
  users_json = Poison.encode!(users)
  {:reply, {:ok, users_json}, socket}
end

基本上,通道的"handle_in"处理来自客户端的请求类似于控制器处理 HTTP 请求的方式。对传入请求进行模式匹配,然后在有回复时回复结果。如果您不需要回复,则返回{:noreply, socket}而不是{:reply, {:ok, reply}, socket}