一尘不染

Javascript:使用AJAX读取文本文件

ajax

无法使AJAX正常工作!我在网站上有一个字幕,可以正常使用!但是我希望它在文本文件中找到字幕的文本,并且希望它读取文本文件中的文本(一行),并将其分配给名为的变量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,因为他指出我忘了调用该函数!:)固定!感谢其他人!


阅读 340

收藏
2020-07-26

共1个答案

一尘不染

不要使用本地路径,例如:
C:\Users\Fares\Dropbox\Sync\College\Computing\DeltaOne\MarqueeText.txt

将其放在IIS的www目录中,并声明如下路径: localhost/text.txt

服务器对文件系统的访问权限可能受到限制,并且您还应尝试使用相对路径,例如text.txt或绝对路径,/text.txt这样即使您将其部署在生产环境中,这些路径也可以使用。

编辑: 因此,如果这没有帮助,那么请确保您确实调用了该loadXMLDoc()函数。还要检查AJAX结束
您所做的一切!我的意思是,您在if-AJAX完成后进行赋值,但还应该初始化字幕!文本已加载。如果您在未定义之前执行此操作

2020-07-26