2011-02-02 21 views
3

xmlHttpオブジェクトのファイルを読み込み、responseTextを分割方法で改行して分割しています。JSの改行 nの問題

"\ n"という文字は文字通り機能しません。コード内でエラーのように動作し、コードが機能しなくなってしまいます。私は他の文字と配列myPlaylistを分割した場合にエラーがない

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

:ここ はラインです。 ただ\ nは、私が理解できない問題を引き起こします。

最初は、エラーは空白に起因すると考えました。私はChromeでコードを実行しています。 どこにでもホワイトスペースを使用したことはありませんでしたが、私はそれを正常に設定しようとしましたが、動作しませんでした。 同様に、私は他のブラウザ(Firefox、IEなど)で自分のコードを試しましたが、どちらもうまくいきませんでした。 \ nを使用することに問題があるように見えます。コードに改行やエラーを使用する方法はありますか?

そして、\ n文字だけを無視するのではなく、エラーは構文エラーのようです。単純に私のコードは動作しない原因

EDIT: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

正常に動作しています。ちょうど私があなたのために新しいことを思い出させると思った:) – Olical

+1

私の問題の解決策を見つけたら、それは心配しないで、まずやります;) – Oralet

+0

/\ n /が動作していない場合あなたが分割しようとしているあなたのresponseTextのサンプルを投稿できますか? – Chuck

答えて

3

私自身の解決策が見つかりました。
ランダムな特殊文字を使用した後、\ r文字は私の問題の魅力のように働いていました。
改行のように動作しました\ n文字か、少なくとも私の場合はその仕事をしました。
お返事ありがとうございました。

+0

ここ、感謝の男! –

1

はここSOだこの1

"\n" 
+0

それはどちらもうまくいかなかった – Oralet

+1

チャックが答えを持っているように見えます。 – Olical

+0

これはうまくいきません:( – Oralet

0

の代わりにこのライン

/\n/ 

を使用してみてください例もう少し洞察を与えるスレッド

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を変換し、あなたはそれから何を得る見てみてくださいことができます - 申し訳ありませんが、私はモックアップする時間がなかったので、ちょうどここヒップから撮影テスト用のもの。 http://www.peachpit.com/articles/article.aspx?p=443580&seqNum=4

+0

私はこれと他の同様のスレッドをチェックしてから、それを書いた。そして/ r/nか
は私の場合はうまくいかなかった。 – Oralet

+0

あなたはこの正確な行を試しましたか? 'ar lines = myPlaylist.responseText.split(/ \ r \ n | \ r | \ n /);' – Olical

+0

うまくいかない:) – Oralet

0

このはず作業を問題なく:

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

はここであなたに役に立つかもしれないやや古い記事です。 myPlaylistresponseTextプロパティがあり、そのプロパティが文字列であることは確かですか?

最終的なエラーが発生した場合はどうなりますか?

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

myPlaylistは次のように定義されています。 var myPlaylist = new XMLHttpRequest(); そのプロパティが必要です。私はあなたの追加でmycodeを実行できませんでした。まだ問題のように見える – Oralet

+0

ああ!世界の旗を使用するように私たちの誰も提案しませんでした!私はそれが間違っているかもしれないと思う。 @cantbereached前​​に試したことのいくつかを、RegExpの後にgで試してみてください。 – Olical

+2

@cantbereached AJAXに関しては、あなたのメソッドがIEでは動作しないため、このようなクロスブラウザを許可することができます:https://github.com/Wolfy87/Spark/blob/master/src/ajax.js#L3 – Olical

-2

利用\\n代わりの\n私は私のコードにしようとした私の答えは、あなたの問題を解決するまでの投票に覚えていて、答えを受け入れない場合には、