/ / Phoenix Frameworkを使用してデータを取得する方法は? -javascript、elixir、phoenix-framework

Phoenix Frameworkを使用してデータをフェッチする方法は? - javascript、elixir、phoenix-framework

私はサーバーを持っています フェニックスフレームワーク インストールされます。 今、私はそれらを使用してサーバーから送信されたデータを取得しようとしています クライアントJSライブラリ しかし、私は途中で立ち往生しています、それを実装してクライアント側で実行する方法が何であれ、ドキュメント/チュートリアルはありません。

私はここ数時間掘り続けてきましたが、残念ながら私が探しているものに関するリソースはほとんどありません。

現在、クライアントライブラリを使用して取得したデータをプレビューするHTML / JSページがあります。

回答:

回答№1は1

メカニズムはかなりよくカバーされています ガイド.

チャンネルに接続すると、次のようなことができます:

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}.