숨겨진 입력 필드에 Json 문자열을 저장하는 방법. 글쎄, 프로그래밍 방식으로 할 수는 있지만 탈출과 관련해서는 잘못된 것입니다. 내 캐릭터는 적당히 긴이기 때문에, 모든 이름은 "문자를 탈출하기 어렵다.이 프로그램 작동 방법을 설명하십시오 (1 단계), 콘솔 출력은 동일.입력 필드 값에 JSON 문자열 저장
[{"X":0,"Y":0,"W":0,"H":500},{"X":358,"Y":62,"W":200,"H":500}]test2.html:21 [{"X":0,"Y":0,"W":0,"H":500},{"X":358,"Y":62,"W":200,"H":500}] test2.html:22 PASSED PHASE 1
jquery.min.js:16Uncaught SyntaxError: Unexpected end of input
감사를 보이는
BSR
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<input type="hidden" id="jsondata" />
<input type="hidden" id="jsondata2" value="[{"X":0,"Y":0,"W":0,"H":500},{"X":358,"Y":62,"W":200,"H":500}]"/>
<script >
$(document).ready(function() {
myItems = [{"X":0,"Y":0,"W":0,"H":500},
{"X":358,"Y":62,"W":200,"H":500}]
console.log(JSON.stringify(myItems));
$("#jsondata").val(JSON.stringify(myItems));
console.log(document.getElementById("jsondata").value);
console.log("PASSED PHASE 1");
var obj = jQuery.parseJSON($("#jsondata2").val());
console.log(obj.length);
console.log("PASSED PHASE 2");
});
</script>
</body>
</html>
편집 :.
다음 코드가 작동합니다 .. 올바른지 확실하지 않습니다. 그래서 대답으로 좋은 설명을 표시합니다. 감사.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<input type="hidden" id="jsondata" />
<input type="hidden" id="jsondata2" value='[{"X":0,"Y":0,"W":0,"H":500},{"X":358,"Y":62,"W":200,"H":500}]'/>
<script >
$(document).ready(function() {
myItems = [{"X":0,"Y":0,"W":0,"H":500},
{"X":358,"Y":62,"W":200,"H":500}]
console.log(JSON.stringify(myItems));
$("#jsondata").val(JSON.stringify(myItems));
console.log(document.getElementById("jsondata").value);
console.log("PASSED PHASE 1");
var obj = jQuery.parseJSON($("#jsondata2").val());
console.log($("#jsondata2").val());
console.log(obj[0].H);
console.log("PASSED PHASE 2");
});
</script>
</body>
</html>
당신이 숨겨진 필드에이 그래서 나중에 사용할 수 있습니다 저장하고자, 아니면 당신이 양식을 통해 제출하는 생각을했다? –
숨겨진 필드에 Json 문자열을 저장하고 있으며 값은 서버 측 템플릿을 통해 렌더링됩니다.클라이언트 측에서는 객체 배열로 파싱하고 추가 표현을 위해 – bsr
Ok .. 다음 작업 ... \t \t Hogan
@Hogan, 코드를 실행하면 두 메서드가 다른 데이터로 실행되고 있음을 알 수 있습니다. stringify()와 parseJSON() 모두 작동합니다. – Gazler