Javascript:使用AJAX读取文本文件
无法让AJAX工作!我有一个网站上的字幕,让它工作!但是我想让它在文本文件中找到字幕的文本,我想让它读取文本文件中的文本(一行),并将其分配给名为Javascript:使用AJAX读取文本文件,javascript,html,ajax,marquee,Javascript,Html,Ajax,Marquee,无法让AJAX工作!我有一个网站上的字幕,让它工作!但是我想让它在文本文件中找到字幕的文本,我想让它读取文本文件中的文本(一行),并将其分配给名为content的变量,该变量是脚本标记中的全局变量 当我运行网站(本地IIS)时,字幕文本是:“未定义”(不带引号) 为什么它不将文本分配给变量content var content function loadXMLDoc() { var textfile; if (window.XMLH
content
的变量,该变量是脚本标记中的全局变量
当我运行网站(本地IIS)时,字幕文本是:“未定义”(不带引号)
为什么它不将文本分配给变量content
var content
function loadXMLDoc()
{
var textfile;
if (window.XMLHttpRequest)
{
textfile = new XMLHttpRequest();
}
textfile.onreadystatechange = function ()
{
if (textfile.readyState == 4 && textfile.status == 200)
{
content = textfile.responseText;
}
}
textfile.open("GET", "C:\Users\Fares\Dropbox\Sync\College\Computing\DeltaOne\MarqueeText.txt", true);
textfile.send();
}
编辑:非常感谢@kuncajs,正如他指出的,我忘记调用函数了!:)固定的!谢谢大家 不要使用以下本地路径:
C:\Users\Fares\Dropbox\Sync\College\Computing\DeltaOne\MarqueeText.txt
将其放置在IIS的www目录中,并按如下方式说明路径:
localhost/text.txt
服务器可以限制对文件系统的访问,您还应该尝试相对路径,如text.txt
或绝对路径/text.txt
,这样即使在生产环境中部署它,这些路径也可以工作
编辑:
因此,如果这没有帮助,请确保确实调用了
loadXMLDoc()
函数。还要检查您所做的一切都是在AJAX结束后进行的!我的意思是,当AJAX完成时,您可以在if中完成任务,但是您还应该初始化您的字幕!之后文本已加载。如果在未定义之前执行此操作,请先尝试使用相对或绝对路径
如果不起作用,请检查使用浏览器时是否可以访问该文件(假设您的网站位于mysite.com/index.html
,请尝试打开mysite.com/text.txt
)
如果您无法使用浏览器访问此文件,则必须将服务器配置为允许读取此文件,但从未尝试过IIS,因此我无法帮助您
另外,由于您要求XHR是异步的,因此在填充变量之前可能需要一点时间(取决于您/您的服务器的速度)Hiya!谢谢@kuncajs!正如你告诉我的那样,不幸的是,字幕框中仍然有“未定义”的内容。我还尝试删除“localhost/”并只保留文本文件名。该文本文件位于www.OK的根文件夹中,它对我有效:我已获得
textfile.open(“GET”,“text.txt”,true)代码>文件text.txt与我的JS html文件位于同一目录中。你确定你真的在代码中的某个地方调用了loadXMLDoc()
——我的意思是执行这个函数吗?啊!你说得对@kuncajs我忘了调用函数了!现在开始工作了,非常感谢!!!谢谢@BLSully的格式化