Cookies 创建并访问Mochiweb Cookie
嘿,我正在尝试让我正在制作的网站向用户发送一个cookie,然后显示一个网页 所以我发现这是关于如何制作cookie的唯一真正的教程,但它似乎对我来说是错误的 我的循环看起来像这样(我的make_cookie、get_cookie、render_ok和get_username与他的相同,只是我使用'mename'作为键而不是'username'):Cookies 创建并访问Mochiweb Cookie,cookies,erlang,mochiweb,Cookies,Erlang,Mochiweb,嘿,我正在尝试让我正在制作的网站向用户发送一个cookie,然后显示一个网页 所以我发现这是关于如何制作cookie的唯一真正的教程,但它似乎对我来说是错误的 我的循环看起来像这样(我的make_cookie、get_cookie、render_ok和get_username与他的相同,只是我使用'mename'作为键而不是'username'): 该错误似乎来自render_ok,但对于Erlang mochiweb来说是新的,我不确定如何修复该错误。您已注释掉了render_ok,但此后未编
该错误似乎来自render_ok,但对于Erlang mochiweb来说是新的,我不确定如何修复该错误。您已注释掉了
render_ok
,但此后未编译该文件。错误消息表明,它仍然调用问候语\u dtl
我假设您正在使用erlydtl,因为错误在问候语\u dtl
中。render
函数中的错误通常意味着您拼错了某些属性名称。检查模板的位置,以及它是否有类似{{{something.username}}
的内容。将其注释掉或更改为mename
(任何有意义的)
loop(Req, DocRoot) ->
"/" ++ Path = Req:get(path),
try
case dispatch(Req, valid_urls:urls()) of
none ->
case filelib:is_file(filename:join([DocRoot, Path])) of
true ->
%% If there's a static file, serve it
Req:serve_file(Path, DocRoot);
false ->
%% Otherwise the page is not found
case Req:get(method) of
Method when Method =:= 'GET'; Method =:= 'HEAD' ->
case Path of
"response" ->
QueryStringData = Req:parse_qs(),
Username = get_username(Req, QueryStringData),
Cookie = make_cookie(Username),
FindCookie = get_cookie_value(Req,"mename","Not Found."),
% render_ok(Req, [Cookie], greeting_dtl, [{username, Username}]),
Req:respond({200, [{"Content-Type", "text/html"}],
"<html><p>Webpage</p></hmtl>"});
_ ->
Req:not_found()
end
end
end;
Response ->
Response
end
catch
Type:What ->
Report = ["web request failed",
{path, Path},
{type, Type}, {what, What},
{trace, erlang:get_stacktrace()}],
error_logger:error_report(Report),
%% NOTE: mustache templates need \ because they are not awesome.
Req:respond({500, [{"Content-Type", "text/plain"}],
"request failed, sorry\n"})
end.
[error] "web request failed", path: "response", type: error, what: undef, trace: [{greeting_dtl,render,[[{username,"GET"}]],[]}