我在我的主要舞者应用程序中有以下代码.pm:
package Deadlands;
use Dancer ':syntax';
use Dice;
our $VERSION = '0.1';
get '/' => sub {
my ($dieQty, $dieType, $bonus);
my $button = param('button');
$dieQty = param('dieQty');
$dieType = param('dieType');
$bonus = param('bonus');
if (defined $dieQty && defined $dieType) {
return Dice::Dice->new(dieType => $dieType, dieQty => $dieQty, bonus => $bonus)->getStandardResult();
}
template 'index';
};
true;
这是我的JavaScript:
$(document).ready(function() {
$('#standardRoll').click(function() {
$.get("/lib/Deadlands.pm", { button: '1', dieType: $("#dieType").val(), dieQty: $("#dieQty").val(), bonus: $("#bonus").val() }, processData);
function processData(data) {
$("#result").html(data);
}
});
});
我的网页中有一个名为result
的div,我希望使用Perl的die roll结果进行更新。当我按下提交按钮时,Dancer会在命令窗口中出现404错误。
答案 0 :(得分:4)
/lib/Deadlands.pm
必须是route的网址(在这种情况下可能是/
),而不是Perl模块的文件系统路径。
答案 1 :(得分:2)
您的AJAX请求需要指向实际存在的URL,而不是与Web无关的文件名。在这种情况下看起来会$.get('/', ...)
。