2014-05-21 1 views
0

S'il vous plaît aidez-moi comme iam créer un nouveau projet ie, créer une page de connexion en utilisant la page de connexion erlang-cowboy contient nom d'utilisateur, mot de passe et bouton de soumission lorsque l'utilisateur entre les données et clique le bouton d'envoi dans le navigateur les détails de l'utilisateur doit enregistrer dans le serveur pour que je créé un toppage_handler.erl de fichier, mais quand iam entrant les erreurs de commande make élèventComment utiliser post et obtenir des gestionnaires dans erlang-cowboy

erreurs:

[email protected]:~/cowboy/examples/practice_world# make 
make[1]: Entering directory `/root/cowboy/examples/practice_world/deps/cowboy' 
make[2]: Entering directory `/root/cowboy/examples/practice_world/deps/cowlib' 
APP cowlib.app.src 
make[2]: Leaving directory `/root/cowboy/examples/practice_world/deps/cowlib' 
make[2]: Entering directory `/root/cowboy/examples/practice_world/deps/ranch' 
APP ranch.app.src 
make[2]: Leaving directory `/root/cowboy/examples/practice_world/deps/ranch' 
APP cowboy.app.src 
make[1]: Leaving directory `/root/cowboy/examples/practice_world/deps/cowboy' 
ERLC practice_world_app.erl practice_world_sup.erl toppage_handler.erl 
src/toppage_handler.erl:14: syntax error before: '{' 
src/toppage_handler.erl:4: function handle/2 undefined 
make: *** [ebin/practice_world.app] Error 1 

et toppage_handler. fichier erl est:

-module(toppage_handler). 
-export([init/3]). 
-export([handle/2]). 
-export([terminate/3]). 

init(_Transport, Req, []) -> 
    {ok, Req, undefined}. 

handle(Req, State) -> 
    {Method, Req2} = cowboy_req:method(Req), 
    case Method of 
     <<"POST">> -> 
      Body = <<"<h1>This is a response for POST</h1>">> 
      {ok, Req3} = cowboy_req:reply(200, [], Body, Req3), 
      {ok, Req3, State}; 
     <<"GET">> -> 
      Body = <<"<h1>This is a response for GET</h1>">> 
      {ok, Req3} = cowboy_req:reply(200, [], Body, Req3), 
      {ok, Req3, State}; 
     _ -> 
      Body = <<"<h1>This is a response for other methods</h1>">> 
      {ok, Req3} = cowboy_req:reply(200, [], Body, Req3), 
      {ok, Req3, State} 
    end. 

terminate(_Reason, _Req, _State) -> 
    ok. 

Répondre

0

Le message d'erreur indique que votre ligne {ok, Req3} = ... a une erreur de syntaxe antérieure à {. Puisque { est le premier caractère important sur la ligne, nous pouvons raisonnablement supposer que l'erreur est réellement sur la ligne avant il.

En effet, l'erreur provient de cette ligne:

Body = <<"<h1>This is a response for POST</h1>">> 

Et est en fait répété dans les deux autres clauses de cas. Dans la première ligne de chacune de vos clauses case, il vous manque l'expression terminator, ,. Les lignes doivent être:

Body = <<"<h1>This is a response for POST</h1>">>, 
{ok, Req3} = ... 
+0

lors de la pose iam '' aussi les erreurs sont Raising – user3382006

+0

fichier login.html: page de connexion

nom d'utilisateur:
mot de passe:
submit
user3382006

+0

Je suppose qu'après avoir ajouté les virgules, vous obtenez une erreur différente? Si ce n'est pas le cas, assurez-vous de corriger le problème dans les trois clauses. Les deux <<"GET">> et _ ont eu le même problème. –

Questions connexes