从服务器读取输入文件并在客户端显示输出
问题描述:
我必须从服务器端读取文件。获取它的内容存储在一个列表中,并将其发送到模板 现在,我的问题是如何访问此列表,以便逐行显示文件的内容。 我使用AJAX和jQuery获得基于您可以使用jQuery.ajax()功能的HTTP方法在客户端从服务器读取输入文件并在客户端显示输出
def showfiledata(request):
f = open("/home/tazim/webexample/test.txt")
list = f.readlines()
return_dict = {'list':list}
json = simplejson.dumps(list)
return HttpResponse(json,mimetype="application/json")
答
数据。
我不确定list
数据是如何格式化的,一个简单的方法就是一旦通过ajax调用返回json对象本身就记录下来。
显示JSON对象结构的方法很多,最简单的方法就是使用FireBug等工具,并使用相应的功能console.log();
函数。
否则,你可以简单地循环对象,取其级你有兴趣
也有许多浏览器都支持({some:'obj'}).toSource();
答
我会做这样的:
var target = $('p.target');
$.getJSON("filedata.json", function(json){
$.each(json.list, function (i, line) {
$('<span></span>')
.html(line)
.appendTo(target);
});
答
前提是你的“在服务器上的文件”是HTML(说NEWS.html),并要使用jQuery ...
做出
<div id="NailMeHere"><!-- filled by Ajax call --></div>
在您的文档
,并执行下列在页面加载
$(document).ready(function(){
$('#NailMeHere').load("NEWS.html");
});
您NEWS.html可能包含您的网站的CSS,链接,一切....
答
class FileByLine(object):
def __init__(self, file_object):
self.f = file_object
def next(self):
# do some line format like <li>line</li>
data = self.f.readline()
if data:
return data
else:
raise StopIteration
def __iter__(self):
return self
代码在行动:
return HttpResponse(FileByLine(open('/path/file')))
在JS:
$('#lines_from_file').load("<action url>")
此外,你可以尝试,HTTP流传输方法http://ajaxpatterns.org/HTTP_Streaming