0

我正在将 a 连接到外部服务器。经过适当的授权过程后,我得到了响应 JSON 对象。

我现在正试图在视图中显示这个 JSON。

这是我到目前为止所做的。

我的第一个操作(从启动授权过程并获取数据的 Javascript 调用):

connect_external('POST',[])->
    ExternalData = get_external_data(),
    io:format("External Data Summary for put~n~p~n", [ExternalData]),
    put(?MY_EXTERNAL_DATA, ExternalData).

在第二个动作中(Javascript 重定向到显示页面):

my_own_data('GET',[])->
    MyData = get(?MY_EXTERNAL_DATA),
    io:format("External Data Summary for get~n~p~n", [MyData]),
    {ok, [{mydata, MyData}]}.

我的目标是在视图中显示 JSON 对象。但我没有看到。这是因为 get() 调用失败(put 成功,因为我可以打印 JSON)并且在控制台中我得到:

External Data Summary for get
undefined

我对 ChicagoBoss/Erlang 很陌生。任何帮助将不胜感激。我应该使用过程字典吗?如果不是什么是替代方法?

4

2 回答 2

0

正如 Anthony Kong 所指出的,我已经使用 boss_session:set_session_data(...) 和 boss_session:get_session_data() 解决了这个问题。

于 2014-08-20T14:53:49.390 回答
0

是的,raich 的回答是正确的,在这种情况下,看起来会话在生产中不起作用,尽管它们在开发中起作用。更多关于这些方法的使用 -

-module(your_controller, [Req, SessionID]). 
.....
boss_session:set_session_data(SessionID, filter_start_date, Req:post_param("start_date")),
boss_session:get_session_data(SessionID, filter_start_date)
boss_session:remove_session_data(SessionID, filter_start_date)
.....
于 2015-12-28T12:38:03.480 回答