【问题标题】:Reading text file trough XMLHttpRequest produces syntax error in text file, works tough通过 XMLHttpRequest 读取文本文件会在文本文件中产生语法错误,很难
【发布时间】:2013-01-02 04:56:53
【问题描述】:

我正在通过普通方式在 Firefox 中通过 XMLHttpRequest 读取文本文件,该文本文件由单行图片文件名组成,并用管道符号 ('|') 分隔。 最后一切正常,我的图像列表被读取,我可以很好地解析它并加载我的图片。

这里是好奇的代码。

bilderListeDatei.open("GET","./bilder/liste?nocachetrick="+jetzt.getTime(),true);

bilderListeDatei.onreadystatechange = function () 
{
    if (bilderListeDatei.readyState === 4) 
    {  
        if (bilderListeDatei.status === 200) 
        {  
            bilderListe = bilderListeDatei.responseText.split("|");
            elementeZuLaden += bilderListe.length;

            for(var i in bilderListe)
            {
                var j = bilder.push(new Image());
                bilder[j-1].onload = function() 
                                        {
                                            elementeGeladen++;
                                            if(elementeZuLaden == elementeGeladen){elementeLadenFertig = true;}
                                        }
                bilder[j-1].src = "./bilder/" + bilderListe[i];
                //alert(j);
            }
        }
    }
} 

如前所述,语法错误是在我的文本文件中产生的,而不是代码,它可以完美运行。 知道如何摆脱该错误消息(被程序的其余部分忽略)吗?

编辑: 错误消息,因为它在评论中被弄乱了:

Zeitstempel: 18.01.2013 14:15:01
Fehler: Syntax-Fehler
Quelldatei: http://192.168.2.102/seitenbastel/bilder/liste?nocachetrick=1358514901070
Zeile: 1, Spalte: 1
Quelltext:
65.jpg|67.jpg|69.jpg|71.jpg|73.jpg|75.jpg|77.jpg|79.jpg|81.jpg|83.jpg|85.jpg|87.jpg|89.jpg|91.jpg|93.jpg|95.jpg|97.jpg

【问题讨论】:

  • 确切的错误信息是什么?你真的不应该在数组上使用 for in 循环。
  • 编辑进OP,评论区不喜欢排版。对不起,德语浏览器。 ;)
  • 如果您将if (bilderListeDatei.status === 200) 中的内容替换为仅表示您在那里的控制台语句,是否会产生错误?清除缓存有什么不同吗?
  • 不,只有警报没有错误(“heyho”);在那里。清除缓存也无济于事。
  • 所以开始取消注释 if 语句中的行,看看哪一行抛出了错误。

标签: javascript ajax firefox xmlhttprequest


【解决方案1】:

XMLHttpRequest 将尝试将结果解析为 XML,一般来说,以创建 responseXML 对象。您的数据可能不是 XML。您要么需要告诉浏览器在您的 Content-Type 标头中(例如,在您的情况下将其设置为 text/plain),要么通过在如果您只打算使用文本,则为 XHR 对象。

【讨论】:

    猜你喜欢
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多