问题标签 [mason]

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 投票
2 回答
1281 浏览

perl - 为什么 Perl 的 CGI::cookie 能够在 IE 中设置 cookie,但不能在 Firefox 中设置?

我有一些 Perl CGI 代码,我试图在 SourceForge 帐户的项目 Web 空间中运行。该代码能够在与 IE 对话时很好地设置浏览器 cookie,但在与 Firefox 对话时未设置 cookie。当我在“localhost”上使用 Apache 进行测试时,两个浏览器都可以正常工作。Firefox 只能在远程 SourceForge URL 上进行处理。

搜索出现了几十个几乎重复的问题,但通常人们遇到的问题完全相反!(Firefox 很好,IE 有问题)

这是我调用来设置 cookie 的实用程序子:

有任何想法吗?我的第一个想法是某种子域问题,因为我的 SourceForge 项目 URL 中有一个子域,而“localhost”没有。我已经尝试将 cookie 域设置为我的特定子域,或者只是基本的“sourceforge.net”。无论哪种方式,它似乎都没有什么不同。

更新: 下面的评论中有人询问了 HTTP 响应标头。我使用网络流量分析工具 Wireshark 来监控 IE 和 Firefox 的请求和响应标头,它们的外观如下:

IE(作品)

要求

回复

火狐(不工作)

要求

回复

0 投票
1 回答
173 浏览

perl - 石匠反应前后的这些数字是什么意思?

我在 Ubuntu 10.10 (x86) 上使用 mod_perl 2、mason 和 apache 2.2(来自 apt 的标准包)。当我向服务器发送 HTTP 请求时,我得到以下信息:

我对此有点好奇。这些数字(38 和 0)是什么意思?我查看了我的日志,但没有看到任何有意义的内容,而且我似乎无法找出谷歌的最佳搜索词组(如果我遗漏了文档中明显的内容,我很抱歉)。我从 telnet 得到了相同的结果(但 Firefox 似乎没有抛出任何错误)。

这是我的请求的内容(省略最后的空格):

和我的脚本(test.html):

提前致谢!

0 投票
1 回答
641 浏览

javascript - 如何将 JavaScript 函数中的变量值赋给 Mason 变量?

window.location.href在单击 javascript 变量中的客户端按钮时获得属性。我的要求是将其发送回服务器。如何在 Mason 代码中获取 JavaScript 变量值?

一个选项(我目前已经实现)是动态创建一个隐藏的文本字段,其值设置为window.location.href,并进行表单提交。

怎么可以在这里使用ajax?我正在寻找一个 ajax 解决方案,它与form.submit().

0 投票
2 回答
902 浏览

perl - Mason 和 Apache 配置,加载不存在的文件

我在使用 Mason 时有一个非常奇怪的行为,例如:

我有一个index.html文件(其中包含诸如 mason 标签<% $var %> hello)。

当我浏览到http://bla.com/index.html编译过程中翻译的变量时。

但是当我浏览到http://bla.com/index.

虽然没有名为index(only index.html) 的文件,但它仍然会加载index.html,并且整个代码显示为纯文本/文本,包括<% ... %>!!!

我配置错了什么?

这是我的 Apache 配置:

0 投票
3 回答
2145 浏览

perl - 如何使 Mason2 UTF-8 干净?

重新提出问题,因为

评论:这个问题已经获得了“热门问题徽章”,所以可能我不是唯一一个绝望的人。:)

不幸的是,展示完整的问题堆栈会导致一个很长的问题,而且它是非常特定于Mason的。

首先,只有意见的部分:)

我使用 HTML::Mason 已经很久了,现在尝试使用 Mason2。PoetMason 是 CPAN 中最先进的框架。没有发现任何可比的东西,开箱即用的东西可以写得如此干净/但非常容易破解:)/网络应用程序,包括许多电池(日志记录、缓存、配置管理、基于原生 PGSI 等...)

不幸的是,作者并不关心单词的其余部分,例如默认情况下,它仅基于 ascii, 没有任何手册、常见问题解答或建议:如何将其与 unicode 一起使用

现在事实。演示。创建一个诗人应用程序:

并添加到dhandler.mc以下内容(将演示这两个基本问题)

并运行应用程序

http://0:5000/xls/hello.xlsx你会得到:

单击下载 hello.xlsx,您将进入hello.xlsx下载。

上面演示了第一个问题,例如组件的源代码不是“在”下use utf8;,所以lc不理解字符。

第二个问题如下,尝试 [ http://0:5000/xls/hélló.xlsx]http://0:5000/xls/h%C3%A9ll%C3%B3.xlsx 你会看:

当然,输入 (the path_info) 没有被解码,脚本使用 utf8 编码的八位字节而不是 perl 字符。

所以,告诉 perl -“源代码在 utf8 中”,通过use utf8;<%class%>

添加use feature 'unicode_strings'(或use 5.014;)更糟:

当然,源现在包含宽字符,它需要Encode::encode_utf8在输出处。

可以尝试使用这样的过滤器:

并过滤整个输出:

但这只是部分帮助,因为需要关心<%init%>or<%perl%>块中的编码。在许多地方的 perl 代码中进行编码/解码(阅读不在边界处)会导致代码冗长。

编码/解码应该清楚地在 Poet / Mason边界的某个地方完成- 当然,Plack 在字节级别上运行。


部分解决。

令人高兴的是,诗人巧妙地允许修改它(和梅森)的部分,因此, $poet_root/lib/My/Mason您可以将其修改Compilation.pm为:

什么会将所需的序言插入到每个Mason 组件中。(不要忘记触摸每个组件,或者只是从 中删除已编译的对象$poet_root/data/obj)。

您也可以尝试在边界处理请求/响应,方法是编辑$poet_root/lib/My/Mason/Request.pm

对所有内容进行编码是一个错误的策略,它会破坏例如 XLS。

因此,4 年后(我在 2011 年问了原始问题)仍然不知道:(如何在Mason2应用程序中正确使用 unicode,并且仍然不存在任何关于它的文档或帮助者。:(

主要问题是: - 在哪里(Moose 的方法修饰符应该修改哪些方法)以及如何正确解码输入以及输出在哪里(在 Poet/Mason 应用程序中。)

  • 但只有文本的,例如text/plainortext/html等​​等……
  • a 做上述“无惊喜” - 例如,什么会简单有效。;)

有人可以帮忙提供真正的代码吗 - 我应该在上面修改什么?

0 投票
1 回答
876 浏览

html - Mason 代码中的条件

如果我想创建一个 html 代码块来显示 mason 中的布尔值是否为真,有没有办法在不使用 print 打印 html 代码的每一行的情况下做到这一点?即有没有办法做这样的事情

代替

0 投票
2 回答
2986 浏览

perl - 如何用 Mason 定义全局变量

介绍

  • 我试图在我的 Ubuntu 桌面上设置 mason。
  • 这是一个非常简单的设置,但在阅读了 masonbook.com 和 mansonhq.com 的部分内容后,我仍然遇到了问题
  • 我希望有人能给我一个提示。请参阅下文了解更多详情。

本地服务器

  • Ubuntu 11.04 桌面
  • Mason 1.44(Ubuntu 自带)
  • perl/mason 的新手

文件

  • mason.seedy2 - 这是一个 cgi 脚本。基本上,我设置了一个全局变量 --> $user. 我想在 index1.html 中使用它
  • index1.html - 简单的 html 文件
  • apache.conf - 我不确定我做对了

错误

apache.conf

index1.html

mason.speedy2

0 投票
1 回答
131 浏览

perl - 记录 Mason 和 Perl 代码的工具?

除了 POD,还有哪些工具可以用来记录我的 Perl 和 Mason 代码?您使用什么以及可以使用哪些工具来帮助我?

0 投票
2 回答
898 浏览

perl - Perl:Javascript::V8 模板 - 来自 perl

寻找像 HTML::Mason(或 Mason)这样的模板引擎,所以什么将源组件“编译”成 perl 代码,而不是 perl-code 将“编译”组件成 JavaScript 代码并在使用 Javascript::V8 运行/执行它们之后perl 模块。

动机:寻找安全模板语言的解决方案,什么可以在不影响服务器安全的情况下编辑用户。JavaScript 是功能齐全的语言,因此使用它可能比一些“迷你语言”(如 TT 或类似语言)更好/更快。对我来说最好的是 Mason 的扩展(重写),用于编译成 Joose/JavaScript 而不是 Moose/Perl。;)

是的,想要使用 Javascript::V8 从 perl 执行此操作,因为这种方式可以通过 Javascript::V8 $context->bind_function 以非常安全的方式获得所有 perl 的功能。

问题:

  • 有人知道类似的东西吗?(在 CPAN 中一无所获)...

编辑:在梅森你可以写例如

如果有可能在 JS 中编写上述内容,那就太好了,例如:

上述源代码应“编译”成 JavaScript (Joose),并使用 Javascript::V8 执行。(就像在 Mason 中一样——源代码被编译成 perl/Moose 对象并用 perl 执行)......

如您所见,它for(var i in list)是用纯 JS 编写的,而不是用“迷你语言”编写的……</p>

0 投票
2 回答
207 浏览

perl - 使用 Mason 作为独立模板语言时出错

天,

我正在尝试使用 HTML::Mason 1.35 作为独立的模板语言来生成电子邮件。考虑以下测试脚本:

当我尝试运行它时,我收到以下错误:

不使用编译器,只解释组件可以正常工作,但是添加编译器会出现此错误。任何线索我在这里做错了什么?