2014-05-21 55 views
0

请帮助我创建一个新项目,例如,使用erlang-cowboy登录页面创建一个登录页面,包含用户名,密码和提交按钮,当用户输入数据并点击提交按钮在浏览器中的用户的详细信息应在服务器保存,我创建了一个文件toppage_handler.erl但是当IAM进入make命令错误提高如何在erlang-cowboy中使用post和获取处理程序

错误:

[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 

和toppage_handler。 erl文件是:

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

回答

0

错误消息指示您的{ok, Req3} = ...行在{之前有语法错误。由于{是线上第一个重要字符,因此我们可以合理地假设该错误实际上在之前。

事实上,该错误此行源于:

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

而在这两种情况下,其他条款实际上是重复的。在您的每个案例子句的第一行中,您缺少表达式终止符,。该行应该是:

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

IAM时配售 '' 也是错误提高 – user3382006

+0

的login.html文件: 登录页面 <形式名称= “登录” 行动=” get.html“method =”POST“> username:
password:
submit user3382006

+0

我想象一下,在添加逗号之后你会得到一个不同的错误?如果没有,请确保您在所有三个条款中解决了问题。 <<"GET">>和_都有同样的问题。 –

相关问题