2011-01-25 5 views
4

게시물을 작성할 때 줄 끝은 \r\n이지만 자바 스크립트를 사용하여 값을 가져 오면 단지 \n이됩니다. 이것은 우리 시스템의 생성이 정상적인 폼 포스트를 수행하고, 업데이트가 폼으로부터 값을 가져 와서 Ajax 요청을 빌드하기 때문에 문제를 야기합니다. 나중에 우리는 주어진 필드에서 문자열 비교를 수행하고 \r 사이의 이상한 혼합이 존재하는지 여부를 확인합니다.윈도우에서 파이어 폭스의 라인 종료 동작이 일관성이 없음

IE가이 (항상 \r\n)을 처리하며, Windows의 FF는 \r\n과 함께 제출되며 자바 스크립트는 \n 만보고합니다. 리눅스에서 그랬지만, firefox와 chrome은 모두 \r\n으로 게시되며, document.getElementById('text-area-id').value을 수행하면 항상 \n 만 표시됩니다.

HTTP 사양 또는 이와 비슷한 먼지가 있습니까? 브라우저가 이것을 구현하여 Windows 서버가 죽지 않을 것입니까? 그 주위에 어떤 방법이 있어도 모든 분야를 위생 처리합니까? 내가 기대할 수있는 것은 JS와 HTTP POST가 모두 같은 방식으로 동작하고, 시스템의 기본 설정을 사용합니다.

답변

0

은 DOM에서 잘못된 문자이므로 분명히 스크립트에서 볼 수 없습니다. Firefox는 textarea의 값을 설정할 때 플랫폼 줄 바꿈을 \n으로 변환합니다. 반면에 양식을 제출할 때 HTTP linebreak 표준을 사용해야한다고 생각하면 분명히 \r\n입니다. 그래서 양식을 보내기 전에 모두 변환합니다.

관련 문제