0

我的主要 Dancer 应用程序 .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);
          }
     });
});

我的网页中有一个 div result,我想用 Perl 的掷骰结果进行更新。当我按下提交按钮时,Dancer 在命令窗口中不断返回 404 错误。

4

2 回答 2

4

/lib/Deadlands.pm需要是您的路由的 URL (可能/在这种情况下),而不是您的 Perl 模块的文件系统路径。

于 2013-12-13T17:45:30.157 回答
2

您的 AJAX 请求需要指向实际存在的 URL,而不是与 web 无关的文件名。$.get('/', ...)在这种情况下看起来会做。

于 2013-12-13T17:45:57.450 回答