Ajax读取txt并对txt内容进行分页显示功能
(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )
下文给大家分享了ajax读取txt并对txt内容进行分页显示的核心代码,废话不多说了,直接贴代码了。
function TransferString(content) { var string = content; try{ string=string.replace(/\r\n/g,"<BR>") string=string.replace(/\n/g,"<BR>"); string=string.replace(/[ ]/g," ") string=string.replace(/\ +/g," ") }catch(e) { alert(e.message); } return string; } var pageIndex = 1; var id = $("#aId").val(); var url = $('#urlArticleContent').val(); var txt = ''; var pageSize = @(ConfigurationManager.AppSettings["ArticlepageSize"]); var page=5; var pageCount = 0; $(function() { if(url!="") { txt = ($.ajax({ url: url, async: false })).responseText; if (txt.indexOf('http://www.w3.org/1999/xhtml')==-1) { pageCount = Math.ceil(txt.length / pageSize); $("#PageCount").html(pageCount); $('#word').html(TransferString(txt.substring(0, pageSize))); $('#demo').pagination({ dataSource: function(done){ var result = []; for (var i = 1; i < pageCount; i++) { result.push(i); } done(result); }, pageCount:pageCount, pageSize: 5, showGoInput: true, showGoButton: true, callback: function(data, pagination) { // template method of yourself var html = template(data); dataContainer.html(html); } }) } else { txt = ''; } } }) function GoHead() { GoPage(1); } function NextClick() { if (pageIndex < pageCount) { pageIndex = pageIndex + 1; } else { pageIndex = pageCount; } GoPage(pageIndex); $("#pageCurrent").html(pageIndex); } function backClick() { if (pageIndex > 1) { pageIndex = pageIndex - 1; GoPage(pageIndex); $("#pageCurrent").html(pageIndex); } } function GoPageNew() { var page=$("#pageGo").val(); GoPage(page); opts.current=page; } function GoPage(pageIndex) { if(pageIndex==0) { pageIndexStr = $('#goPage').val(); if (pageIndexStr==undefined) { return false; } pageIndexStr = pageIndexStr.trim(); var pageIndex = parseInt(pageIndexStr); } $('#page'+pageIndex).siblings().removeClass('active'); $('#page'+pageIndex).addClass('active'); if (pageIndex==1) { if(!$('#backClick').hasClass('disabled')) { $('#backClick').addClass('disabled'); } } else { $('#backClick').removeClass('disabled'); } if (pageIndex == pageCount) { if(!$('#nextClick').hasClass('disabled')) { $('#nextClick').addClass('disabled'); } } else { $('#nextClick').removeClass('disabled'); } var pageTxt = txt.substring((pageIndex - 1) * pageSize, pageIndex * pageSize); $('#word').html(TransferString(pageTxt)); $('html, body').animate({ 'scrollTop': 0 }, 0); $("#pageCurrent").html(pageIndex); } function PageGo(){ if($('.jump-ipt').val()!=''){ GoPage($('.jump-ipt').val()) } } @{ if (null != ViewBag.Ariticle) { DataRow dr = ViewBag.Ariticle; if (null != dr) { ViewBag.Title = dr["Title"]; <div class="container"> <div class="row"> <div class="col-xs-12"> <div class="breadcrumb_block"> <span class="tit"><a href="/web/sciencefiction/index">科普IP</a> ></span> <ol class="breadcrumb"> <li class="active">@dr["Title"]</li> <li class="active">在线试读</li> </ol> <div class="clear"></div> </div> </div> <div class="col-sm-8"> <input type="hidden" name="aId" id="aId" value="@Request["id"]" /> <div class="read_book"> <h3 class="read_tit">@dr["Title"]</h3> <div class="author"> <span class="ml30"><em id="pageCurrent">1</em>/<em id="PageCount">0</em></span> </div> <input type="hidden" value="@dr["FilePath"]" id="urlArticleContent"> <div class="word" id="word"> <nav class="page-my"> <ul class="pagination pull-right fs14" id="demo"></ul> <div class="clear"></div> </nav> <!--底部翻页--> </div> <div class="col-sm-3"> <input type="hidden" name="pageCount" id="pageCount" value="@ViewBag.pageCount" /> <!--阅读控制--> <div class="read_control"> <a href="javascript:;" onclick="backClick()"><span class="icon icon01"></span><em>上一页</em></a> <a href="javascript:;" onclick="NextClick()"><span class="icon icon02"></span><em>下一页</em></a> <a href="javascript:;" onclick="GoHead()"><span class="icon icon03"></span><em>回首页</em></a> </div> </div> </div> </div> } } }
txt文件上传时需要做一些处理,否则只能显示UTF8格式的txt
/// <summary> /// 文件上传 /// </summary> /// <returns></returns> public JsonResult UploadFiles() { HttpPostedFileBase postFile = HttpContext.Request.Files["filesave"]; if (postFile != null) { string fileName = Path.GetFileName(postFile.FileName); string fileExt = Path.GetExtension(fileName.ToLower()); string fileSize = postFile.ContentLength.ToString(); long fileNameTem = Common.GenerateLongId(); string sPath = string.Format("/Data/Material/{0}_{1}.txt", fileNameTem.ToString(), fileName.Replace(".txt", ""));//Guid.NewGuid().ToString().Replace("-", "") string viewUrl = string.Empty; string g = Guid.NewGuid().ToString(); if (!Directory.Exists(Server.MapPath("~") + "/Data/Material")) Directory.CreateDirectory(Server.MapPath("~") + "/Data/Material"); string p = Server.MapPath(sPath); postFile.SaveAs(p); if (System.IO.File.Exists(p)) { StreamReader sr = new StreamReader(p, System.Text.Encoding.Default); String input = sr.ReadToEnd(); sr.Close(); StreamWriter sw = new StreamWriter(p, false, System.Text.Encoding.UTF8); sw.WriteLine(input); sw.Close(); } return Json(new { FilePath = sPath, FileName = fileName, viewurl = viewUrl, fileSize = fileSize }); } else { return Json(new { FilePath = "" }); } }
另外页面首页引入js
<script src="/UploadFiles/2021-04-02/jquery.pagination.js">以上所述是小编给大家介绍的Ajax读取txt并对txt内容进行分页显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
下一篇:深入理解ajax系列第一篇之XHR对象