2016-12-17 195 views
0

HI我尝试用JQuery逐行读取文本文件。用jQuery逐行读取文本文件

我尝试这样的:

function load_file(file, element) { 
    var lines = file.split("\n"); 

    for (var i = 0, len = lines.length; i < len; i++) { 
     save(lines[i]); 
    } 
    $(element).load(file); 

} 

和HTML文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication9.WebForm1" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript" src="Scripts/JFunc.js"></script> 
    <script type ="text/javascript" src="Scripts/jquery-1.10.2.js"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 


     <input type="button" value="load" onclick="load_file('../movie.txt', '#content_area');" /> 
    <div id="content_area"></div> 

    </div> 
    </form> 


</body> 
</html> 

但网页仍然是空的。

我可以无需逐行阅读文件。但是,这是一条重要的路线。而不是一行一行。

文本文件看起来像这样:

  1. 肖申克的救赎
  2. 教父
  3. 教父:第二部分
  4. 低俗小说
  5. 好的,坏的和丑陋
  6. 12愤怒的男人
  7. 辛德勒的名单
  8. 黑暗骑士
  9. 的指环王:王者
  10. 搏击俱乐部
  11. 星球大战归来:情节v - 帝国反击
  12. 飞越疯人院
  13. 魔戒首部曲:魔戒
  14. 盗现身
  15. 好家伙
  16. 星球大战
  17. 七武士
  18. 矩阵
  19. 阿甘
  20. 上帝之城

谢谢

,如果我只是这样做:

function load_file(file, element) { 
    //var lines = file.split("\n"); 

    //for (var i = 0, len = lines.length; i < len; i++) { 
    // save(lines[i]); 

    $(element).load(file); 

} 

浏览器可以读取该文件。但不是在同一行每部影片

+0

变量'file'是** **字符串'../ movie.txt',它不是内容文件。如果你'../ movie.txt'.split('\ n')'你得到'['../ movie.txt']'(这不是你正在寻找的)。 – Dekel

+0

oke,但怎么做呢? – SavantCodeEngineer

+0

如果你想读取文件,你应该对服务器做另一个请求,以获得该文件的内容。你可以使用'$ .ajax'(或者'.get')。 – Dekel

回答

2

我解决这样的:

jQuery.get('movie.txt', function (data) { 

    var lines = data.split("\n"); 

    $.each(lines, function (n, elem) { 
     $('#content_area').append('<div>' + elem + '</div>'); 

    }); 
    console.log(lines);  
}); 
+0

很高兴看到你设法解决它自己:)得到了我的投票! – Dekel