如何在Dancer中找到数据文件的路径以在Javascript中使用?

时间:2013-12-19 22:05:04

标签: javascript perl dancer

我有以下Javascript细分:

function setLifts() {
     var $lifts = [];
     $.ajax({
          url: 'data/lifts.csv',
          contentType: 'text/csv',
          async: false,
          success: function(text) {
               $lifts = text.split(/\n/);
               return;
          }
     });
     return $lifts;
}

在Chrome中加载页面时出现以下错误:GET http://127.0.0.1:3000/data/lifts.csv 404 (Not Found)

我的Dancer应用程序的根目录中有一个数据目录。 csv文件的正确路径是什么?

谢谢!

1 个答案:

答案 0 :(得分:4)

您需要定义一个路由处理程序来处理这些并让Dancer将文件发送到客户端。请参阅Dancer doc

  

让当前路由处理程序将文件发送到客户端。注意   除非,文件的路径必须相对于公共目录   你使用system_path选项(见下文)。

get '/download/:file' => sub {
    return send_file(params->{file});
}

目录data未包含在标准的Dancer安装中。您应该将数据移出安全问题(return send_file('/etc/passwd', system_path => 1);)的文档会话。

当然public中的内容可以在没有路由处理程序的情况下下载。 CSS,JS和dispatch.fcgi都在那里为初学者。