0

我正在尝试使用 jquery $.get/$.load函数加载文本文件的内容,但由于路由规则而出现错误。

我的代码如下:

$.get(
    '/root/test.txt',
    function(data) {        
        $('#textfile').html("");
        lines = data.split("\n");
        for (i = 0; i < lines.length; i++) {    
            $('#textfile').append("<div class='row-fluid'>");   
            $('#textfile').append(lines[i]);
            $('#textfile').append("</div>");    
        }
    }
);

我收到此错误:

在 2013-01-18 14:36:30 +0700
由 ErrorsController#routing 作为 TEXT
参数处理 127.0.0.1 开始 GET "/root/test.txt" 参数:{"a"=>"root/test"}
呈现公共/404.html.erb 在 layouts/responsive (0.6ms)

有什么建议可以让它工作吗?

4

2 回答 2

0

你不能像这样加载任何文件.....这将调用get方法,这将是ajax调用......所以如果你想加载放在根目录中的文本..只需使用$.load()加载那个文件...!!

于 2013-01-18T09:59:53.213 回答
0

在 Rails 中,我假设您已经拥有 MVC 架构。创建一个控制器(或该控制器内的函数)并向该控制器发送 GET 请求以返回文本文件内容。

所以你想做

jQuery AJAX 请求

$.get("/readText", function(data){
    console.log(data);   //text file content
});

从您的控制器(Rails),使用 Rails 框架提供的 IO API 并读取您的文本文件并打印出文件的内容,就像您通常使用其他视图文件一样。data来自 jquery ajax 的参数将包含文本文件内容


或者您可以直接映射到文本文件的位置,例如

$.get("resources/test.txt", function(data){
   console.log(data);
});

您提到您收到 404 错误。这意味着它无法根据您指定的 URL 路径找到文本文件(或 MVC 应用程序的控制器)。检查您是否可以访问您的公共资源的快速有效的方法是通过在您的网络浏览器上输入 URL(例如 localhost:8080/yourapp/resources/test.txt)。但是,我认为从服务器读取资源然后打印出来比公开访问更安全。

于 2013-01-18T10:00:19.523 回答