有没有一种非常简单的方法来使用jQuery / AJAX更新Perl Dancer中的页面?

时间:2013-12-13 17:39:48

标签: javascript jquery ajax perl 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);
          }
     });
});

我的网页中有一个名为result的div,我希望使用Perl的die roll结果进行更新。当我按下提交按钮时,Dancer会在命令窗口中出现404错误。

2 个答案:

答案 0 :(得分:4)

/lib/Deadlands.pm必须是route的网址(在这种情况下可能是/),而不是Perl模块的文件系统路径。

答案 1 :(得分:2)

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