这篇文章给大家介绍了Ajax读取txt并对txt内容进行分页显示功能,非常不错,具有参考和学习ajax的价值,对ajax感兴趣的朋友一起看看吧
下文给大家分享了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"]; <p class="container"> <p class="row"> <p class="col-xs-12"> <p 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> <p class="clear"></p> </p> </p> <p class="col-sm-8"> <input type="hidden" name="aId" id="aId" value="@Request["id"]" /> <p class="read_book"> <h3 class="read_tit">@dr["Title"]</h3> <p class="author"> <span class="ml30"><em id="pageCurrent">1</em>/<em id="PageCount">0</em></span> </p> <input type="hidden" value="@dr["FilePath"]" id="urlArticleContent"> <p class="word" id="word"> <nav class="page-my"> <ul class="pagination pull-right fs14" id="demo"></ul> <p class="clear"></p> </nav> <!--底部翻页--> </p> <p class="col-sm-3"> <input type="hidden" name="pageCount" id="pageCount" value="@ViewBag.pageCount" /> <!--阅读控制--> <p 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> </p> </p> </p> </p> } } }
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="~/Scripts/web/jquery.pagination.js"></script> <link href="~/Content/jquery.pagination.css" rel="stylesheet" /> /** * pagination分页插件 * @version 1.1.2 * @author mss * @url http://maxiaoxiang.com/plugin/pagination.html * @E-mail 251445460@qq.com * * @调用方法 * $(selector).pagination(); * * @更新日志 * 2016-07-25:修复click重复事件 */ ; (function ($, window, document, undefined) { //配置参数 var defaults = { totalData: 0, //数据总条数 showData: 0, //每页显示的条数 pageCount: 9, //总页数,默认为9 current: 1, //当前第几页 prevCls: 'prev', //上一页class nextCls: 'next', //下一页class prevContent: '上一页', //上一页内容 nextContent: '下一页', //下一页内容 activeCls: 'active', //当前页选中状态 coping: false, //首页和尾页 homePage: '', //首页节点内容 endPage: '', //尾页节点内容 count: 5, //当前页前后分页个数 jump: true, //跳转到指定页数 jumpIptCls: 'jump-ipt', //文本框内容 jumpBtnCls: 'jump-btn', //跳转按钮 jumpBtn: '跳转', //跳转按钮文本 callback: function () { } //回调 }; var Pagination = function (element, options) { //全局变量 var opts = options,//配置 current,//当前页 $document = $(document), $obj = $(element);//容器 /** * 设置总页数 * @param int page 页码 * @return opts.pageCount 总页数配置 */ this.setTotalPage = function (page) { return opts.pageCount = page; }; /** * 获取总页数 * @return int p 总页数 */ this.getTotalPage = function () { var p = opts.totalData || opts.showData ? Math.ceil(parseInt(opts.totalData) / opts.showData) : opts.pageCount; return p; }; //获取当前页 this.getCurrent = function () { return current; }; /** * 填充数据 * @param int index 页码 */ this.filling = function (index) { var html = ''; current = index || opts.current;//当前页码 var pageCount = this.getTotalPage(); if (current > 1) {//上一页 html += '<li onclick=GoPage(' + (current - 1) + ')><a href="javascript:;" class="' + opts.prevCls + '">' + opts.prevContent + '</a></li>'; } else { $obj.find('.' + opts.prevCls) && $obj.find('.' + opts.prevCls).remove(); } if (current >= opts.count * 2 && current != 1 && pageCount != opts.count) { var home = opts.coping && opts.homePage ? opts.homePage : '1'; html += opts.coping ? '<li onclick=GoPage(' + home + ')><a href="javascript:;" data-page="1">' + home + '</a></li><span>...</span>' : ''; } var start = current - opts.count, end = current + opts.count; ((start > 1 && current < opts.count) || current == 1) && end++; (current > pageCount - opts.count && current >= pageCount) && start++; for (; start <= end; start++) { if (start <= pageCount && start >= 1) { if (start != current) { html += '<li onclick=GoPage(' + start + ')><a href="javascript:;" data-page="' + start + '">' + start + '</a></li>'; } else { html += '<li class="' + opts.activeCls + '" onclick=GoPage(' + start + ')><a href="javascript:;"><span>' + start + '</span></a></li>'; } } } if (current + opts.count < pageCount && current >= 1 && pageCount > opts.count) { var end = opts.coping && opts.endPage ? opts.endPage : pageCount; html += opts.coping ? '<span>...</span><li onclick=GoPage(' + pageCount + ')><a href="javascript:;" data-page="' + pageCount + '">' + end + '</a></li>' : ''; } if (current < pageCount) {//下一页 html += '<li onclick=GoPage(' + (current + 1) + ')><a href="javascript:;" class="' + opts.nextCls + '">' + opts.nextContent + '</a></li>' } else { $obj.find('.' + opts.nextCls) && $obj.find('.' + opts.nextCls).remove(); } html += opts.jump ? '<input type="text" class="' + opts.jumpIptCls + '"><a href="javascript:;" onclick=PageGo() class="' + opts.jumpBtnCls + '">' + opts.jumpBtn + '</a>' : ''; $obj.empty().html(html); }; //绑定事件 this.eventBind = function () { var self = this; var pageCount = this.getTotalPage();//总页数 $obj.off().on('click', 'a', function () { if ($(this).hasClass(opts.nextCls)) { var index = parseInt($obj.find('.' + opts.activeCls).text()) + 1; } else if ($(this).hasClass(opts.prevCls)) { var index = parseInt($obj.find('.' + opts.activeCls).text()) - 1; } else if ($(this).hasClass(opts.jumpBtnCls)) { if ($obj.find('.' + opts.jumpIptCls).val() !== '') { var index = parseInt($obj.find('.' + opts.jumpIptCls).val()); } else { return; } } else { var index = parseInt($(this).data('page')); } self.filling(index); typeof opts.callback === 'function' && opts.callback(self); }); //输入跳转的页码 $obj.on('input propertychange', '.' + opts.jumpIptCls, function () { var $this = $(this); var val = $this.val(); var reg = /[^\d]/g; if (reg.test(val)) { $this.val(val.replace(reg, '')); } (parseInt(val) > pageCount) && $this.val(pageCount); if (parseInt(val) === 0) {//最小值为1 $this.val(1); } }); //回车跳转指定页码 $document.keydown(function (e) { var self = this; if (e.keyCode == 13 && $obj.find('.' + opts.jumpIptCls).val()) { var index = parseInt($obj.find('.' + opts.jumpIptCls).val()); GoPage(index); //self.filling(index); //typeof opts.callback === 'function' && opts.callback(self); } }); }; //初始化 this.init = function () { this.filling(opts.current); this.eventBind(); }; this.init(); }; $.fn.pagination = function (parameter, callback) { if (typeof parameter == 'function') {//重载 callback = parameter; parameter = {}; } else { parameter = parameter || {}; callback = callback || function () { }; } var options = $.extend({}, defaults, parameter); return this.each(function () { var pagination = new Pagination(this, options); callback(pagination); }); }; })(jQuery, window, document);
以上所述是小编给大家介绍的Ajax读取txt并对txt内容进行分页显示,希望对大家有所帮助!!
相关推荐:
以上是Ajax读取txt并对txt内容进行分页显示功能的详细内容。更多信息请关注PHP中文网其他相关文章!

404页面基础配置404错误是www网站访问容易出现的错误。最常见的出错提示:404notfound。404错误页的设置对网站seo有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛。404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去。搜索引擎通过http状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引

Scrapy是一个开源的Python爬虫框架,它可以快速高效地从网站上获取数据。然而,很多网站采用了Ajax异步加载技术,使得Scrapy无法直接获取数据。本文将介绍基于Ajax异步加载的Scrapy实现方法。一、Ajax异步加载原理Ajax异步加载:在传统的页面加载方式中,浏览器发送请求到服务器后,必须等待服务器返回响应并将页面全部加载完毕才能进行下一步操

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。详细介绍:1、设置统一的编码方式,确保服务器端和客户端使用相同的编码方式,通常情况下,UTF-8是一种常用的编码方式,因为它可以支持多种语言和字符集;2、服务器端编码,在服务器端,确保将中文数据以正确的编码方式进行编码,再传递给客户端等等。

作为一种基于MVC模式的PHP框架,CakePHP已成为许多Web开发人员的首选。它的结构简单,易于扩展,而其中的AJAX技术更是让开发变得更加高效。在本文中,将介绍如何使用CakePHP中的AJAX。什么是AJAX?在介绍如何在CakePHP中使用AJAX之前,我们先来了解一下什么是AJAX。AJAX是“异步JavaScript和XML”的缩写,是指一种在

ajax重构指的是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更合理,提高软件的扩展性和维护性;Ajax的实现主要依赖于XMLHttpRequest对象,由于该对象的实例在处理事件完成后就会被销毁,所以在需要调用它的时候就要重新构建。

jquery ajax报错403是因为前端和服务器的域名不同而触发了防盗链机制,其解决办法:1、打开相应的代码文件;2、通过“public CorsFilter corsFilter() {...}”方法设置允许的域即可。

当提交表单时,捕获提交过程并尝试运行以下代码片段来上传文件-//File1varmyFile=document.getElementById('fileBox').files[0];varreader=newFileReader();reader.readAsText(file,'UTF-8');reader.onload=myFunc;functionmyFunc(event){ varres

CSRF代表跨站请求伪造。CSRF是未经授权的用户冒充授权执行的恶意活动。Laravel通过为每个活动用户会话生成csrf令牌来保护此类恶意活动。令牌存储在用户的会话中。如果会话发生变化,它总是会重新生成,因此每个会话都会验证令牌,以确保授权用户正在执行任何任务。以下是访问csrf_token的示例。生成csrf令牌您可以通过两种方式获取令牌。通过使用$request→session()→token()直接使用csrf_token()方法示例<?phpnamespaceApp\Http\C


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),