问题标签 [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.
perl - 在 mojolicious 中访问哈希时出错
我在 mojolicious 中访问我的哈希时遇到问题。
在 perl 中,我可以像$managers{'IT'}{'name'}
打印出来一样访问数据Mike
。我将如何在 mojolicious 中做同样的事情?
上面抛出一个错误。打印<%== $manage %> gives a HASH(0x1335430)
位置。
perl - 如何将未找到的 Mojolicious Lite 默认错误更改为自定义 json 响应
我正在使用 Mojolicious Lite 创建一个 json Web 服务。
默认情况下,Mojolicious 会为服务器错误或未找到错误返回 HTML 响应。
有没有办法将其覆盖为自定义 JSON 响应?
perl - mojolicious lite中的催眠助手功能
Mojolicious::Lite 应用程序可以与 morbo 一起使用,但不能与 hypnotoad 一起使用。
当使用 hypnotoad 运行时,应用程序的其余部分正在工作,但它没有从数据库读取/写入数据。请帮助我编写与 hypnotoad 一起使用的代码
perl - 如何在 Mojolicious::Lite 应用中禁用缓存
目前我将此行添加到 Mojolicious::Lite 应用程序以禁用缓存
但有时网页显示更新的内容,有时显示缓存的模板
我不知道到底是什么问题,morbo 没有问题,只有 hypnotoad 才会出现这种情况。我想尝试禁用缓存。
编辑:我解决了我的问题。问题不在于 mojolicious 缓存,而在于数据库缓存。如果您遇到类似问题,请尝试在您的 DBI->connect() 方法中将“AutoCommit”设置为 1。
javascript - 如何将 input_tag 的值存储在变量中?
当我按下带有 mojolicious 模板的按钮时,我试图从 input_tag 发送数据。
当我按下“生成”按钮时,我想将输入中的数据发送到另一个 perl 脚本。
perl - 如何更改 perl Mojolicious lite 中的模板文件夹?
我想在我的项目中有以下结构:
但我只能使用这个默认结构让它工作:
这是我正在使用的 mojolicious_ui_script.pl 的简化版本:
我一直在寻找解决这个问题的方法,因为精简版和普通 Mojo 之间的文档有时会混合在一起,如果双方都可以使用某些东西,我不会这样做,但无论如何尝试了很多我没有的路线能够改变这一点。
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。谢谢你的帮助
perl - 在 mojolicious 中渲染后做一些事情
在 HypnoToad 发送页面后,如何让我的代码执行某些操作?(注意:我正在回答我自己的问题。我发布这个,因为 StackOverflow 指出我之前的问题并没有直接解决我的问题,尽管它确实包含我需要的线索。)
示例代码:
render 似乎缓冲了它的 http 输出并在代码块完成后发送它。我希望在发送页面后执行某些操作。可以通过将以下内容代替“做某事”注释来观察缓冲。
我在win7上,因此仅适用于unix的解决方案将不起作用。
perl - 如何管理自己的 SIGINT 和 SIGTERM 信号?
我正在开发一个基于简单Mojolicious::Lite
的服务器,其中包括一个 websocket 端点。
我想处理一些终止信号以优雅地终止 websocket 连接并避免客户端(java 应用程序)中的异常。
我试图定义我的信号处理程序,就像我以前的服务器使用HTTP::Daemon
. 问题是它们似乎被忽略了。也许在 Mojolicious 层中重新定义了,我还没有找到任何关于它的参考。
我期待看到我的终止消息,但它没有发生
当服务器在终端中处于前台时,我SIGINT
通过输入直接发送Ctrl-C
,并且我可以优雅地终止服务器(例如,当由 cron 或其他无显示方式启动时)带有kill <pid>
.
在以前的一些服务器中,我试图通过处理来非常详尽:
HUP
现在用来重新加载配置的劫持信号SIGINT
Ctrl-CSIGQUIT
Ctrl-\SIGABRT
例如异常库终止SIGTERM
外部终止请求 - “友好”kill
(通过野蛮的反对kill -9
TSTP
使用 Ctrl-Z 暂停CONT
从 Ctrl-Z 恢复时使用fg
orbg
所有这些处理程序都允许在清理资源的情况下优雅地退出,确保数据一致性或在外部更改后重新加载配置或数据模型,具体取决于程序和需求。
我找到了Mojo::IOLoop::Signal
“非阻塞信号处理程序”包,但它似乎是另一回事。错误的?
这是我的简化代码(使用 simple 运行perl ws_store_test.pl daemon
):
文件 ws_store_test.pl
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 路由时重新扫描网络。否则,如果数据不是最新的,数据将毫无用处。
感谢您的帮助和解释。