어떻게 하면 자바스크립트 문자열에서 앰퍼샌드를 이스케이프하여 페이지가 strict를 검증할 수 있습니까?
JQuery를 사용하여 dataString을 Ajax 콜에 전달하려고 합니다.콜에서는 get 파라미터를 구성하고 수신측의 php 페이지로 전송합니다.문제는 데이터 문자열에 앰퍼샌드가 포함되어 있고 HTML strict validator가 이를 체크하고 있다는 것입니다.
코드는 다음과 같습니다.
$(document).ready(function(){
$("input#email").focus();
$('#login_submit').submit(function(){
var username = $('input#email').val();
var password = $('input#password').val();
var remember = $('input#remember').attr("checked");
var dataString = "email="+username+"&password="+password+"&remember="+remember;
$.post('login.php', dataString, function(data) {
if (data == 'Login Succeeded.') {
location.reload(true);
} else {
$("input#email").focus();
$("#login_msg").html(data).effect("pulsate", {times: 2}, 1000);
}
});
return false;
});
});
검증자 메시지의 예를 다음에 나타냅니다.일반 엔티티 "password"의 시스템 ID를 생성할 수 없습니다.
var dataString = "email="+username+"&password="+password+"&remember="+rememb…
(검증기에서 첫 번째 앰퍼샌드 뒤의 "p"는 고장 지점을 나타내는 빨간색으로 표시됩니다).
다음과 같이 Javascript를 CDATA 블록에 넣습니다.
<script type="text/javascript">
<![CDATA[
// content of your Javascript goes here
]]>
</script>
검증을 통과해야 합니다.CDATA 태그 주위에 Javascript 코멘트를 추가하여 CDATA 태그를 이해하지 못하는 이전 브라우저로부터 숨길 수 있습니다.
<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>
"\u0026"은 동작합니다!
주의: 텍스트를 CDATA 블록으로 무작정 래핑하기 전에 CDATA의 목적은 유효하지 않은 문자를 유효하게 하는 것이 아닙니다.
참조: http://www.flightlab.com/ ~http/http/http/cdata.http:/http:
가끔씩\u0026,&,%26,&, 또는<![CDATA[ ... ]]>스크립트 블록의 앰퍼샌드에 대해 xhtml로 동작합니다.
SGML 설계상의 오류에 대한 링크 로열티)도 왜 그런 제한을 원하는지 묻고 싶습니다. ,mathml,target,그리고.nested xml할 수 있습니다.
스크립트 블록에서는 태그나 다른 SGML이 인식되지 않는다고 간단히 말할 수 없는 이유는 무엇입니까?xhtml은 왜 타겟이 동작하지 않는가?
단점보다 SGML의 장점이 없다고 생각합니다.현재 html5는 어느 정도 이용 가능하지만 개발자 오류를 가장 많이 포착하는 검증자는 xhtml입니다.xml의 기원에 관계없이 xml을 수정해 봅시다.
나는 시도한다:
var dataString = "email="+username+"&password="+password+"&remember="+remember;
언급URL : https://stackoverflow.com/questions/355043/how-do-i-escape-an-ampersand-in-a-javascript-string-so-that-the-page-will-valida
'programing' 카테고리의 다른 글
| Woocommerce - Product 페이지 - "Add To Cart" 버튼에서 AJAX를 작성하는 방법 (0) | 2023.04.04 |
|---|---|
| 데이터베이스 대 데이터베이스로 S3 사용(예: MongoDB) (0) | 2023.03.25 |
| Swagger 2.x를 사용하는 동안 HATEOAS가 Spring-Boot 버전 >= 2.2.x에 대해 문제를 일으키기 시작하는 이유는 무엇입니까? (0) | 2023.03.25 |
| Oracle - 읽기 전용 사용자 생성 방법 (0) | 2023.03.25 |
| 모든 WordPress 페이지에서 변수를 사용하는 가장 좋은 방법 (0) | 2023.03.25 |