我正在阅读一个包含xmlHttp
对象的文件,并通过split方法将responseText
与换行符分开。
但“\ n”字符字面上不起作用。它在我的代码中就像一个错误,导致我的代码甚至没有功能。 这是一行:
var lines=myPlaylist.responseText.split("\n");
如果我将数组myPlaylist与其他字符分开,则没有错误。 只是\ n导致我无法理解的问题。
起初,我认为错误是由于white-space: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
答案 0 :(得分:3)
我找到了解决问题的方法 使用随机特殊字符后,用于回车的 \ r 字符就像我的问题的魅力一样 它的作用就像一个换行符 \ n ,或者至少它在我的情况下完成了它的工作 感谢大家的回答和有用的评论。
答案 1 :(得分:1)
尝试使用此行
/\n/
而不是这个
"\n"
答案 2 :(得分:0)
这是一个提供更多洞察力的SO线程
JavaScript string newline character?
<强> EDIT1:强> 我刚测试了它,它在新线上适当分割。你能发布一些你要分裂的东西吗?
<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
答案 3 :(得分:0)
这个 应该没有问题。
您确定myPlaylist
具有responseText
属性,并且该属性是字符串吗?
如果发现最终错误会怎样?
try {
var lines = myPlaylist.responseText.split(/\n/g);
alert(lines.length);
} catch (e) {
alert(e.message);
}
答案 4 :(得分:-1)
使用\\n
代替\n
我尝试了我的代码并且工作正常