我知道jQuery的函数.load()从.txt文件加载一个文本,但是有办法在div中加载很多.txt文件吗?
我试过这样做:
for (i = 1;i<9;){
$("#slide2 .wrapper").load(+i+".txt");
i++;
};
});
但是它与图像一起用于创建图库,但不能用.txt ...
我的目的是做一些博客,我只能将.txt文件放在一个目录中,然后自动加载到我的HTML中。
答案 0 :(得分:1)
JavaScript和(通过扩展)jQuery是客户端Web技术,出于安全原因,本地不允许访问用户计算机上的本地文件。
您必须将该文本文件放在服务器上,并为.load()
函数指定一个指向该文件的URL。
啊,错过了一些东西...... It looks like you are trying加载多个文件......在这种情况下,我再次建议在服务器上创建一些魔法。类似于一个PHP脚本,glob('*.txt')
所有文件和fread()
在一个循环中创建长文本...
答案 1 :(得分:1)
尝试类似的东西:
for (i = 1;i<9;){
$.get(+i+".txt",
function(res){
$("#slide2 .wrapper").text($("#slide2 .wrapper").text() + res);//I expect here that you have a plain text in .txt files and want to see it like a text
});
i++;
};
这应该加载所有文件,并追加它们到$("#slide2 .wrapper")
内容。
如果是.load
,您将只获取最后加载的文件,因为该函数只是将$("#slide2 .wrapper")
的内容替换为正在加载的文件内容。请注意,没有担保1.txt将在2.txt之前加载.txt。 2.txt的加载速度可能快于1.txt,而2.txt的内容将在2.txt的内容之后显示。
如果您想保留订单,可以使用以下代码:
getContent(1);// instead of for loop
});
function getContent(i) {
$.get(+i+".txt",
function(res) {
$("#slide2 .wrapper").text($("#slide2 .wrapper").text() + res);//I expect here that you have a plain text in .txt files and want to see it like a text
if(i < 9)
getContent(i++);
}
);
}
供参考:jQuery.get和.load。
答案 2 :(得分:0)
我假设你对php知之甚少,但它应该很简单。
将此代码直接插入您希望其显示的代码中,例如<div>
<?php
for($i=0;$i<9;$i++)
{
echo file_get_contents($i.".txt");
}
?>
这应该在任何典型的托管服务上运行,或者如果自助服务,请确保您的服务器启用了PHP。
答案 3 :(得分:0)
$(function () {
for (var i = 1; i < 9; i++) {
$.ajax({
url : i + ".txt",
dataType: "text",
success : function (data) {
$("#slide2.wrapper").append(data);
}
});
}
});
你的html应该是:
<div id="slide2" class="wrapper"></div>