问题标签 [mojolicious]
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 框架的应用程序。我在数据库中有一个表,其中包含错误响应列表和与之相关的其他详细信息。我已经创建了相应的结果和结果集来处理数据库表。还有一个控制器通过与结果集交互来获取有关错误的详细信息。
我的想法是在此控制器中调用一个操作,该操作将通过查询数据库来获取(由另一个控制器)传递给它的错误的详细信息,加载有关请求资源的环境的运行时信息,从而导致错误,创建一个响应并返回到调用它的控制器。
我正在努力处理从一个控制器到另一个控制器的呼叫。我如何在 Mojolicious 中做到这一点?$self
我可以传递控制器对象(
json - 在 perl 中将 MongoDB 控制器项目转换为 JSON?
哪里有办法
有什么办法可以直接将数据转换成json字符串;
并将数据推送到 Mojolicious
perl - Jquery.get 超时行为?
我是网络编码的新手,最近一直在玩 JQuery。我注意到一些行为,想知道这是否是正常行为以及处理它的最佳方法。
我正在对我的网络服务器进行简单的获取,有时服务器可能需要几分钟才能返回其结果。我注意到我的服务器端代码被多次调用,在这种情况下,'/userprofile' 最多可以调用 3 次。
所以我的问题是;
1)这是正常行为吗?和 2)如果是这样,是 JQuery 发出额外的调用还是浏览器?3)有什么好的方法来处理这个?
我很欣赏问题 3 的答案可能是一个困难的答案,但非常感谢任何帮助。
非常感谢。
更新:
多谢你们,
好的,由于后端数据库很小,所以我不能用那个确切的调用产生问题,但我可以用另一个相同的调用。我在获取之前发出了警报,它只被调用了一次。我正在使用 Mojolicious 网络框架,所以我想知道它是否与此有关?我正在使用 Morbo 网络服务器。
这是我表现出这种行为的代码
当我的 utile::connectToDevice 需要一段时间来响应时,我看到整个回调被再次调用。
这是我的 morbo 网络服务器日志的输出。它确实似乎接到了两个电话。
perl - 在 Mojolicious::Lite 下以正确的格式呈现错误
我有一个under
可能会产生错误的语句(例如,身份验证错误)。我到处使用内容协商,我想以under
正确的格式返回错误。示例代码:
我可以render
在里面使用under
,但respond_to
不会工作。可能under
为此工作。但在那种情况下,我该怎么办?
perl - Perl 抓取脚本无法识别某些字符
我有一个在本地运行良好但在服务器上失败的脚本。
它显示不间断的空格符号
作为
打印到标准输出时。
在页面的解析中,如果我尝试用
什么都没有发生,也没有摆脱问号
似乎无论如何都会坚持下去。
奇怪的是,在本地运行脚本时这不是问题。
但是,本地计算机和服务器上的一个问题是撇号(在我正在抓取的 HTML 中表示为尖锐符号
始终表示为问号
即使明确尝试
困惑,请帮助。
jquery - CORS:总是通过 jQuery.ajax 从 Mojolicious::Lite 获得空响应
我正在使用 jQuery 从Mojolicious::Lite
我正在构建的 API 中获取一些数据。但我无法通过 Ajax 从 API 接收任何数据。我可以通过curl
虽然获取数据。
更新:我可以在同一个域上通过 Ajax 获取数据。这是一个CORS问题。
这是我的客户代码:
这是API代码:
以下是所有请求的标头和数据:
OPTIONS /path
:
POST /path
:
不知道问题出在我的 JS 还是 Perl 代码上。
更新:可能在 JS 代码上。
更新:CORS 似乎没问题。
perl - 使用 Perl 和 Mojolicious 替换经过身份验证的用户代理登录/页面抓取
我正在尝试移植一些使用旧 Perl 模块编写的旧 Web 抓取脚本,以便仅使用 Mojolicious 工作。
使用 Mojo 编写了一些基本脚本,但对使用安全登录站点的经过身份验证的登录以及如何使用Mojo::UserAgent
脚本进行处理感到困惑。不幸的是,我在文档中看到的唯一示例是没有表单的基本身份验证。
我试图转换为使用 Mojo:UserAgent 的 Perl 脚本如下:
所以上面的工作正常。如何转换为在 Mojolicious 中做同样的工作?
perl - 使用 Mojolicious 用户代理解析 HTML
我有这样的html
h1 和 h2 之间的内容各不相同——我知道我可以在 Mojo::Dom 中使用 css 选择器来选择 h1 或 h2 或 p 标签的内容——但是如何选择 h1 和 h2 之间的所有内容?或者更一般地说,任何两组给定标签之间的所有内容?
perl - 在 mojolicious 中测试 JSON PUT 请求
我正在为使用 Mojolicious 框架开发的应用程序创建测试用例。我正在测试路由以对进行的 REST 调用做出适当的响应。我使用 JSON 作为服务器和客户端之间的通信方式。为了测试和请求GET
,我使用以下函数POST
DELETE
GET : get_ok()
POST: post_json_ok()
DELETE: delete_ok()
但是因为PUT
我无法使用put_ok()
. 我使用 put_ok() 的例子是我
my $t = Test::Mojo->new;
$t->put_ok('this/is/url/to/resource'=>{ "element" => "modified value"})->status_is(204)
每次都得到一个错误的请求状态(400),所以测试失败。我Test::Mojo
用于测试我的应用程序。
附加信息:
$t->put_ok('http://localhost:3000/application/instances/system/test'=>{"model" => "testing put"})->status_is(204);
PUT
这是对尝试的请求的确切测试。是正在尝试更改为
model
的资源的属性,并且预期的状态响应是.test
testing put
204
到控制器的映射是通过
$r->route('/application/instances/system/:id, id => qr/[A-Za-z0-9 ]+/ -> via('put')
->to(controller => 'system', action => 'update_sys');
此路由调用控制器中的update_sys
方法完成的,这system
就是资源的定位方式。
perl - 如何设置 MojoX::Sessions 的 cookie 过期时间?
无论我给expires()
orexpires_delta()
的过期值是什么,cookie 的过期时间总是一小时。如何更改它以使会话和 cookie 过期时间匹配?