[英]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線程,將提供更多的洞察力
編輯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.