我有一台服务器,其中 Phoenix Framework已安装。 现在,我尝试使用 client JS library 获取从服务器发送的数据。 但我被困在中间,没有文档/教程,无论如何实现它并在客户端运行它。
过去几个小时我一直在挖掘,但不幸的是几乎没有关于我正在寻找的内容的资源。
目前,我有一个 HTML/JS 页面,我想在其中预览使用客户端库获取的数据。
最佳答案
the guides 中很好地介绍了这些机制。 .
当您连接到 channel 时,您可以执行以下操作:
channel = socket.channel("yourchannel", {});
channel.join().receive("ok", successFunction);
channel.on("all_users", function(users) { /* do something with users */ });
channel.push("get_all_users", {});
在您的用户 channel 中:
def handle_in("get_all_users", payload, socket) do
users = Repo.all(User)
users_json = Poison.encode!(users)
{:reply, {:ok, users_json}, socket}
end
基本上,您的 channel 的“handle_in”处理来自客户端的请求,类似于 Controller 处理 HTTP 请求的方式。您对传入请求进行模式匹配,然后在有回复时回复结果。如果您不需要回复,则返回 {:noreply, socket}
而不是 {:reply, {:ok,reply}, socket}
。
关于javascript - 如何使用Phoenix框架获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36069342/