javascript - 如何使用Phoenix框架获取数据?

标签 javascript elixir phoenix-framework

我有一台服务器,其中 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/

相关文章:

javascript - 在字符串中特定数量的数字后插入空格

javascript - 如何使用 Html 帮助程序在 mvc 中显示密码隐藏字段

elixir - 我们如何解决 Elixir 中的冲突行为警告

javascript - 在 javascript 中,将标签转换为链接的最有效方法是什么?

javascript - 当浏览器站点缩小时调整 div 内的图像大小

elixir - HTTPoison 上传文件

elixir - 在 Elixir 中,如何模拟 'used' 模块中定义的函数?

testing - 模块 ConnCase 未加载且找不到

elixir - Elixir Phoenix 中的可选 POST 参数

database - 尝试删除结构时出现 Ecto 约束错误