/ / Wie kann ich mit Phoenix Framework Daten abrufen? - Javascript, Elixier, Phoenix-Framework

Wie kann ich mit Phoenix Framework Daten abrufen? - Javascript, Elixier, Phönix-Framework

Ich habe einen Server, auf dem die Phoenix Framework ist installiert. Jetzt versuche ich, die vom Server gesendeten Daten mit deren Hilfe abzurufen Client-JS-Bibliothek Aber ich stecke in der Mitte fest, es gibt keine Dokumentation / Anleitung, was auch immer, um es zu implementieren und auf der Client-Seite auszuführen.

Ich habe in den letzten Stunden gegraben, aber leider gibt es fast keine Ressourcen für das, wonach ich suche.

Derzeit habe ich eine HTML / JS-Seite, auf der ich eine Vorschau der mit der Clientbibliothek abgerufenen Daten anzeigen möchte.

Antworten:

1 für die Antwort № 1

Die Mechanik ist ziemlich gut abgedeckt die Führer.

Wenn Sie eine Verbindung zum Kanal herstellen, können Sie Folgendes tun:

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

In Ihrem UserChannel:

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

Grundsätzlich werden die "handle_in" -Zugriffe Ihres Channels verwendetAnforderungen von Ihrem Client, ähnlich wie ein Controller HTTP-Anforderungen behandeln würde. Sie stimmen mit dem Muster der eingehenden Anforderung überein und antworten dann mit einem Ergebnis, wenn eine Antwort vorliegt. Wenn Sie nicht antworten müssen, kehren Sie zurück {:noreply, socket} Anstatt von {:reply, {:ok, reply}, socket}.