0

サーバーからテキスト ファイルを読み取って、Web ページの 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は不完全に答えているように見えるので、問題は1行だけを置き換えていることです。以下を使用してすべての\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 に答える