JavaScript에서 일반적인 방법은 Encodeuri (decodeuri) 및 EncodeUricomponent (decodeUricomponent)를 사용하는 것입니다. 특정 사용 방법과 차이가 사용됩니다.
그러나 JavaScript에서 HTML을 반비례하는 방법은 무엇입니까? 예를 들어 다음 코드 :
var jsondata = {제목 : "< %= data.name? data.name : title %>", desc : "< %= data.content? data.content : '' %>", 이미지 : "< %- data.img? data.img : '' %>"};< %= %>로 랩핑 된 부분은 서버에서 반환 된 값입니다 (위의 예의 코드는 node.js의 Express EJS 템플릿의 코드에서 가져옵니다). 서버에서 반환 된 문자열에 단일 또는 이중 따옴표와 같은 따옴표가 포함 된 경우 위의 JS 코드는 브라우저에서 해석 할 때 오류가 발생합니다. 이 문제를 해결하는 방법?
기본 아이디어는 페이지의 dom 요소의 innerhtml 속성을 통해 문자열 html을 뒤집은 다음 값을 JavaScript 변수로 반환하는 것입니다. 다음 두 코드를보십시오.
1. 원본 JavaScript 쓰기 방법 :
함수 htmldecode (입력) {var e = document.createElement ( 'div'); e.innerhtml = 입력; e.childnodes.length === 0? "": e.childnodes [0] .nodevalue;} htmldecode ( "<img src = 'myimage.jpg'>");2. jQuery 쓰기 방법 :
함수 htmldecode (value) {return $ ( '<div/>'). html (value) .text (); }첫 번째 함수는 기본 JavaScript 메소드를 사용하여 DIV 요소를 생성 한 다음 InnerHTML 속성으로 반비례하는 문자열을 할당하고 DIV 요소의 NODEvalue 속성의 값을 반환합니다. 두 번째 함수는 jQuery의 방법을 사용하며 기본 원칙은 첫 번째 기능과 동일합니다. DIV 요소는 메모리에서만 생성되며 페이지에 부속되거나 불활성이 없으므로 기존 페이지에 영향을 미치지 않습니다.
마지막으로 초기 코드를 다음 방법으로 변경합니다.
var jsondata = {title : $ ( '<div/>'). html ( "< %= data.name? name.name : title %>"). text (), desc : $ ( '<div/>'). html ( "< %= data.notent? nontent : ' %>")이를 통해 JavaScript의 서버에서 리턴 된 문자열의 HTML 반전이 가능합니다.
JavaScript에서 HTML의 리버스 탈출에 대한 위의 자세한 설명은 내가 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.