2011-01-25 4 views
4

私たちは記事を投稿すると、行末は\r\nですが、javascriptを使用して値を取得すると、ちょうど\nが得られます。これは問題を引き起こしています。なぜなら、私たちのシステムでは、作成は通常のフォーム投稿を行い、更新はフォームから値を引き出してajaxリクエストを構築するからです。後で、指定されたフィールドで文字列の比較を行い、\rの間にこの奇妙な組み合わせがあるかどうかを確認しています。ウィンドウ内のfirefoxの行末の動作が一貫していない

IEはこの細かい点(常に\r\n)を処理しますが、WindowsのFFは\r\nと提出し、JavaScriptは\nと報告します。 Linux上では本当にFREAKIN STRANGEですが、firefoxとchromeの両方が\r\nで投稿され、document.getElementById('text-area-id').valueを実行すると常に\nと表示されます。

これはHTTP仕様のようなほこりのようなものですか?ブラウザがこれを実装して、Windowsサーバーが死ぬことはありませんか?周りに道があり、すべての畑を浄化しますか?私が期待しているのは、JSとHTTP POSTの両方が同じように動作し、システムのデフォルトが使用されているシステムであることです。

答えて

0

\rは明らかにDOM内では不正な文字なので、スクリプトからは見えません。 Firefoxは、テキストエリアの値を設定すると、プラットフォームの改行を\nに変換します。一方、フォームを送信する際には、HTTP改行標準を使用する必要があると考えられます(これは明らかに\r\nです)。したがって、フォームを送信する前にすべてを変換します。

関連する問題