【问题标题】:chicagoboss cannot connect js file and erl filechicagoboss无法连接js文件和erl文件
【发布时间】:2018-08-03 05:47:38
【问题描述】:

关于一个使用 chicagoboss 和 otp19 运行的网站,我有三个文件:index.html、config.js 和 zeus_config_controller.erl,这三个文件之前工作得很好,但是在我将这些文件复制到新服务器之后并在这个新服务器上运行网站,然后问题就出现了。

好像chicagoboss不能再把js文件的请求连接到erl文件了,日志显示:

14:12:25.360 [info] GET /config/function1/paramX [zeus] 200 98ms
14:12:25.404 [info] GET /config/function2/paramY [zeus] 200 108ms

现在这两行日志之间没有以前的 erl 日志了。 谁能建议我是否需要在某处进行任何配置?我还没有做任何与这个chicagoboss相关的配置。

非常感谢。

【问题讨论】:

  • 为您的项目发布目录结构树。发布您的控制器。发布你的 js 文件。
  • 同时打开浏览器的 javascript 控制台并发布那里列出的任何错误。

标签: javascript erlang erlang-otp chicagoboss


【解决方案1】:

看看你是否能让下面的例子工作:

zeus/src/controller/zeus_config_controller.erl:

-module(zeus_config_controller, [Req]).
-compile(export_all).

index('GET', []) ->
    {ok, []}.

get_data('GET', []) ->
    {json, [{a, 1}, {b, 2}] }.

宙斯/src/view/config/index.html:

<html>
  <head>
    <title>{% block title %}Config{% endblock %}</title>

    <!-- jquery cdn:  --!>
    <script src="http://code.jquery.com/jquery-3.3.1.js"   
      integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="   
      crossorigin="anonymous"></script>

    <!-- zeus js:  --!>
    <script src="/static/js/myjs.js"></script>

  </head>

  <body>
  {% block body %}
    <div id="results">results</div>
    <div><button id="button1" type="button">Click me</button></div>
  {% endblock %}
  </body>
</html>

宙斯/priv/static/js/myjs.js:

function on_button_click() {
  $.get("/config/get_data", function(data) {
    $("#results").text(data.a + data.b);
  });
}

$(document).ready( function() {
  $("#button1").click(on_button_click);
});

在浏览器中输入以下网址:

http://localhost:8001/config/index

然后单击按钮。你看到了什么?浏览器的 js 控制台有错误吗?

14:12:25.360 [info] GET /config/function1/paramX [zeus] 200 98ms
14:12:25.404 [info] GET /config/function2/paramY [zeus] 200 108ms

现在这两行日志之间没有以前的 erl 日志了 是。

当我为上面的示例输入 http://localhost:8001/config/index 时,我看到以下输出:

...
...
07:05:42.421 [info] GET /config/get_data [zeus] 200 40ms
07:05:42.435 [info] GET /config/index [zeus] 200 55ms

这对我来说没有多大意义,因为我的代码中没有任何内容明确向 /config/get_data 发送 GET 请求。然后当我点击页面上的按钮时,我看到:

... 
...
07:06:11.231 [info] GET /config/get_data [zeus] 200 26ms

...正如预期的那样。

【讨论】:

    猜你喜欢
    • 2014-12-31
    • 2022-10-02
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多