问题标签 [mojolicious-lite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
114 浏览

perl - 在 mojolicious 中访问哈希时出错

我在 mojolicious 中访问我的哈希时遇到问题。

在 perl 中,我可以像$managers{'IT'}{'name'}打印出来一样访问数据Mike。我将如何在 mojolicious 中做同样的事情?

上面抛出一个错误。打印<%== $manage %> gives a HASH(0x1335430)位置。

0 投票
3 回答
316 浏览

perl - 如何将未找到的 Mojolicious Lite 默认错误更改为自定义 json 响应

我正在使用 Mojolicious Lite 创建一个 json Web 服务。

默认情况下,Mojolicious 会为服务器错误或未找到错误返回 HTML 响应。

有没有办法将其覆盖为自定义 JSON 响应?

0 投票
2 回答
197 浏览

perl - mojolicious lite中的催眠助手功能

Mojolicious::Lite 应用程序可以与 morbo 一起使用,但不能与 hypnotoad 一起使用。

当使用 hypnotoad 运行时,应用程序的其余部分正在工作,但它没有从数据库读取/写入数据。请帮助我编写与 hypnotoad 一起使用的代码

0 投票
0 回答
761 浏览

perl - 如何在 Mojolicious::Lite 应用中禁用缓存

目前我将此行添加到 Mojolicious::Lite 应用程序以禁用缓存

但有时网页显示更新的内容,有时显示缓存的模板

我不知道到底是什么问题,morbo 没有问题,只有 hypnotoad 才会出现这种情况。我想尝试禁用缓存。

编辑:我解决了我的问题。问题不在于 mojolicious 缓存,而在于数据库缓存。如果您遇到类似问题,请尝试在您的 DBI->connect() 方法中将“AutoCommit”设置为 1。

0 投票
1 回答
63 浏览

javascript - 如何将 input_tag 的值存储在变量中?

当我按下带有 mojolicious 模板的按钮时,我试图从 input_tag 发送数据。

当我按下“生成”按钮时,我想将输入中的数据发送到另一个 perl 脚本。

0 投票
0 回答
202 浏览

perl - 如何更改 perl Mojolicious lite 中的模板文件夹?

我想在我的项目中有以下结构:

但我只能使用这个默认结构让它工作:

这是我正在使用的 mojolicious_ui_script.pl 的简化版本:

我一直在寻找解决这个问题的方法,因为精简版和普通 Mojo 之间的文档有时会混合在一起,如果双方都可以使用某些东西,我不会这样做,但无论如何尝试了很多我没有的路线能够改变这一点。

0 投票
1 回答
51 浏览

apache - Mojolicious url_for 操作在 web 服务中不安全

我正在尝试使用 Web 服务返回内容。如果因“操作不安全”而失败,则在 apache 代理后面。

我阅读了有关添加 apache 钩子的信息,但它对我不起作用。也不设置环境变量。这就是我尝试过的:如何让 Mojolicious 的 url_for()->to_abs() 在 nginx 后面返回正确的方案(http 或 https)

也许或网络服务我必须做其他事情?我也使用 mojolicious lite。

url_for 也是在模板文件 .html.ep 中完成的。我用它从 javascript 调用 web 服务。

我在 Ubuntu 18.04 上运行 Mojolicious 7.59。谢谢你的帮助

0 投票
2 回答
171 浏览

perl - 在 mojolicious 中渲染后做一些事情

在 HypnoToad 发送页面后,如何让我的代码执行某些操作?(注意:我正在回答我自己的问题。我发布这个,因为 StackOverflow 指出我之前的问题并没有直接解决我的问题,尽管它确实包含我需要的线索。)

示例代码:

render 似乎缓冲了它的 http 输出并在代码块完成后发送它。我希望在发送页面后执行某些操作。可以通过将以下内容代替“做某事”注释来观察缓冲。

我在win7上,因此仅适用于unix的解决方案将不起作用。

0 投票
1 回答
1086 浏览

perl - 如何管理自己的 SIGINT 和 SIGTERM 信号?

我正在开发一个基于简单Mojolicious::Lite的服务器,其中包括一个 websocket 端点。

我想处理一些终止信号以优雅地终止 websocket 连接并避免客户端(java 应用程序)中的异常。

我试图定义我的信号处理程序,就像我以前的服务器使用HTTP::Daemon. 问题是它们似乎被忽略了。也许在 Mojolicious 层中重新定义了,我还没有找到任何关于它的参考。

我期待看到我的终止消息,但它没有发生

当服务器在终端中处于前台时,我SIGINT通过输入直接发送Ctrl-C,并且我可以优雅地终止服务器(例如,当由 cron 或其他无显示方式启动时)带有kill <pid>.

在以前的一些服务器中,我试图通过处理来非常详尽:

  • HUP现在用来重新加载配置的劫持信号
  • SIGINTCtrl-C
  • SIGQUITCtrl-\
  • SIGABRT例如异常库终止
  • SIGTERM外部终止请求 - “友好” kill(通过野蛮的反对kill -9
  • TSTP使用 Ctrl-Z 暂停
  • CONT从 Ctrl-Z 恢复时使用fgorbg

所有这些处理程序都允许在清理资源的情况下优雅地退出,确保数据一致性或在外部更改后重新加载配置或数据模型,具体取决于程序和需求。

我找到了Mojo::IOLoop::Signal“非阻塞信号处理程序”包,但它似乎是另一回事。错误的?

这是我的简化代码(使用 simple 运行perl ws_store_test.pl daemon):

文件 ws_store_test.pl

0 投票
2 回答
89 浏览

perl - Perl Mojolicious 路由只调用一次 sub

我正在使用 Mojolicious::Lite 来声明 Web 服务的路由。也许我误解了路由的行为,但如果我在路由定义中调用子例程,它只会被调用一次
我认为每次调用 web 服务路由时都应该触发 sub ......但事实并非如此。

例如我写了一条测试路线:

这是启动服务器并访问localhost:3000/test路由时的控制台输出:

你好 iam 只出现一次
[2020-04-04 22:07:21.09011] [69050] [info] 在“http://*:3000”
服务器上收听http://127.0.0.1:3000
[2020- 04-04 22:07:28.26033] [69050] [debug] [78278b87] GET "/test"
[2020-04-04 22:07:28.26097] [69050] [debug] [78278b87] 200 OK (0.000626s, 1597.444/s)

当服务器启动时,“Hello iam 只出现一次”输出一次。访问路线不会再次触发潜艇。
如果这是想要的行为,我怎样才能让我的路线在每次访问路线时触发子?

我需要这个,因为我在我的应用程序中使用这个 web 服务来扫描网络并返回结果。而且我想在每次调用 webservice GET 路由时重新扫描网络。否则,如果数据不是最新的,数据将毫无用处。

感谢您的帮助和解释。