簡體   English   中英

JS中的換行符問題

[英]Newline \n problem in JS

我正在使用xmlHttp對象讀取文件,並使用split方法將responseText與換行符分開。

但“\\ n”字符確實不起作用。 它在我的代碼中就像一個錯誤,導致我的代碼甚至沒有功能。 這是一行:

var lines=myPlaylist.responseText.split("\n");

如果我將數組myPlaylist與其他字符分開,則沒有錯誤。 只是\\ n導致我無法理解的問題。

起初,我認為錯誤是由於白色空間:nowrap,因為我在Chrome上執行我的代碼。 雖然我從未在任何地方使用過白色空間,但我試圖將其設置為正常,但它不起作用。 同樣,我在其他瀏覽器(Firefox,IE等)上嘗試了我的代碼,它也沒有用。 看起來我在使用\\ n時遇到了問題。 有沒有其他方法在我的代碼中使用換行符或錯誤?

順便說一句,錯誤似乎是一個語法錯誤,因為它不只是忽略\\ n字符。 只是導致我的代碼不起作用

編輯:一個示例responseText

[playlist]

File1=http://localhost:7000/Videos/Big%20Buck%20Bunny%20Trailer.ogv
Title1=Bunny Trailer
Length1=23

File2=http://localhost:7000/Videos/Dizzy%20Cat%20Video.ogv
Title2=Kedi 
Length2=33

NumberOfEntries=2

Version=2

我找到了解決問題的方法。
使用隨機特殊字符后, \\ r \\ n字符用於回車工作就像我的問題的魅力。
它的行為就像換行符\\ n或者至少它在我的情況下完成了它的工作。
感謝大家的回答和有用的評論。

嘗試使用此行

/\n/

而不是這一個

"\n"

這是一個SO線程,將提供更多的洞察力

JavaScript字符串換行符?

編輯1:我剛測試了這個,它在新線路上適當分割。 你能發布一些你想要拆分的東西嗎?

<html>
    <script>
        function testSplit(value)
        {
            var lines = value.split(/\n/);
            alert(lines);
        }
    </script>
    <body>
        <textarea id="test" name="test" onblur="testSplit(this.value);">

        </textarea>
    </body>
</html>

EDIT2:

你能嘗試將你的responseText轉換成一個對象並看看你從中獲得了什么 - 對不起,只是從這里開始拍攝,因為我沒有時間嘲笑任何東西進行測試。

eval("var playlistResponse = ("+ myPlaylist.responseText +")");

這是一篇可能對您有用的舊文章: http//www.peachpit.com/articles/article.aspx?p = 443580&seqNum = 4

應該沒有問題。 你確定myPlaylist有一個responseText屬性,那個屬性是一個字符串?

如果發現最終錯誤會怎樣?

try {
  var lines = myPlaylist.responseText.split(/\n/g);
  alert(lines.length);
} catch (e) {
  alert(e.message);
}

使用\\\\n而不是\\n我嘗試了我的代碼,它工作正常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM