0

我正在尝试从服务器读取文本文件并显示在我网页上的 div 中。这是我的 AJAX/Javascript:

    <body onload="loadXMLDoc()">
    <script>
        function loadXMLDoc()
        {
            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("myDiv").innerHTML=xmlhttp.responseText.replace("\n", "<br />");
                }
            }
            xmlhttp.open("GET","ajax_info_test.txt?t=" + Math.random(),true);
            xmlhttp.send();
            setInterval (loadXMLDoc, 1000);
        }
    </script>
    <div id="myDiv"></div>
</body>

它只在自己的行上显示文本文件中的第一行。我怎样才能为每条线单独执行此操作?

4

3 回答 3

3

由于 Brad M 似乎没有完全回答,您的问题是您只替换了一行。使用以下内容删除所有 \n 并改为使用 br 标签加入。

xmlhttp.responseText.split('\n').join('<br/>');
于 2013-02-25T22:14:43.727 回答
1

.replace 仅替换 \n 的第一个实例

document.getElementById("myDiv").innerHTML=xmlhttp.responseText.replace("\n", "<br />");
于 2013-02-25T22:10:51.767 回答
0

全局替换 \r、\n 或 \r\n:

var str = xmlhttp.responseText;
var replacedStr = str.replace(/\r\n|\r|\n/g,"<br />");
document.getElementById("myDiv").innerHTML = replacedStr;
于 2013-02-25T22:20:32.923 回答