2

我想从一个.html文件中获取一个表格并将其显示在我的文件中的一个 div 中.html.erb...我尝试加载一个简单的.txt文件,如下所示,但它现在正在工作..请让我知道要进行哪些更改。我在给出路径时出错了吗?

应用程序/视图/帐户/show_result.html.erb:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">

    function showy(count){
         alert(count);
        $("#quickview").load("D:\sample.txt");
        return true;
     }

</script>
</head>
<body>
<h3>Recent Test Results</h3><br>
<div id ="quickview">
    HELLO
</div>
// for loop with index i
<a id="repo" href="" onclick="showy(<%= i %>)" >Quick view!</a>
//some other code
</body>
</html>

Update1:​​我实际上想访问我的应用程序公用文件夹中的 HTML 文件。路径是这样的.. RORapp/public/reports///.html 文件

      $("#quickview").load("http://localhost:3000/reports/"+userid+"/"+fold+"/overview.html #overviewTable");

更新2:

当我只是复制 url( http://localhost:3000/reports/"+userid+"/"+fold+"/overview.html) 并在浏览器中打开时,我可以看到 html 页面。但是当我尝试加载其中的一部分时,我无法做到。在 cmd 中,我得到一个错误说

AbstractController::ActionNotFound (The action 'reportng' could not be found for AccountController):

account 是我的主要控制器,reportng 是用于样式化该 html 页面的 css 文件

在检查控制台是否有错误时,我收到以下错误(在浏览器中按 F12 时)

TypeError: element.dispatchEvent is not a function
fire()protot...?body=1 (line 4072)
element = Object[Document show_test_results]
eventName = "dom:loaded"
memo = undefined
_methodized()protot...?body=1 (line 257)
fireContentLoadedEvent()protot...?body=1 (line 4106)
[Break On This Error]   

element.dispatchEvent(event);

解决方案: 现在除了加载 reqd html 文件之外,我还可以更改属性 :)

    function showy(count){
        var linkDiv = $('#repo_'+count);
        var fold = linkDiv.data('folder');
        var userid = '<%= self.current_user.id %>';
        var server = '<%= request.host_with_port %>';

        $( "#success_"+count ).load( "http://"+server+"/reports/"+userid+"/"+fold+"/overview.html #overviewTable" , function(){
            $("#success_"+count).find("a").attr("href","http://"+server+"/reports/"+userid+"/"+fold+"/suite1_test1_results.html");
        });

         **SOME CODE**

}
4

1 回答 1

2

出于安全原因,浏览器会阻止对客户端计算机本地位置的 AJAX 调用。

为此,您需要将其置于联机状态,或使用本地服务器,例如:http://localhost/mysite

于 2013-10-30T12:40:10.710 回答