[英]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.