programing

JSON 경유 HTML 코드 전송

goodsources 2023. 2. 10. 21:48
반응형

JSON 경유 HTML 코드 전송

HTML 콘텐츠를 생성하는 php 스크립트를 가지고 있습니다.그 HTML 콘텐츠를 JSON을 통해 php 스크립트에서 제 웹페이지로 반송할 수 있는 방법이 있나요?

네, HTML 문자열을 사용하여 유효한 JSON이 되기 위해 필요에 따라 이스케이프할 수 있습니다(플래그를 사용하지 않는 한, 안타깝게도 불필요한 작업도 할 수 있습니다.예를 들어, 원래 문자열이 다음과 같은 경우:

<p class="special">content</p>

...json_encode이 생성됩니다.

"<p class=\"special\">content<\/p>"

불필요한 백슬래시가 있는 것을 알 수 있습니다./거의 끝나갈 무렵에.를 사용할 수 있습니다.JSON_UNESCAPED_SLASHES플래그를 사용하여 불필요한 백슬래시를 방지합니다. json_encode(theString, JSON_UNESCAPED_SLASHES);생산:

"<p class=\"special\">content</p>"

이렇게 하기

먼저 모든 HTML 콘텐츠를 어레이에 저장하고 다음으로 실행한다.json_encode

$html_content="<p>hello this is sample text";
$json_array=array(

'content'=>50,
'html_content'=>$html_content
);
echo json_encode($json_array);

모든 문자열 데이터는 UTF-8로 인코딩되어야 합니다.

$out = array(
   'render' => utf8_encode($renderOutput), 
   'text' => utf8_encode($textOutput)
);

$out = json_encode($out);
die($out);

PHP의 경우:

$data = "<html>....";
exit(json_encode($data));

그런 다음 AJAX를 사용하여 데이터를 가져와 원하는 작업을 수행해야 합니다.JQuery를 사용할 것을 권장합니다.http://api.jquery.com/jQuery.getJSON/

String으로 보낼 수 있습니다.왜 안 돼요?하지만 여기서 JSON을 잘못 사용하고 있는 것 같습니다.제가 알기론 필요한 데이터만 전송하고 클라이언트의 HTML로 랩하는 것이 포인트입니다.

@T.J. Crowder의 답변에 대해 자세히 말씀드리겠습니다.

json_encode간단한 html 스트링으로 충분하지만 내 경험상으로는json_encodephp와 혼합된 길고 복잡한 중첩된 html에 의해 종종 혼란스러워진다(또는 적절히 이스케이프가 어려워진다).이 위치에 있을 경우 고려해야 할 두 가지 옵션은 다음과 같습니다. 먼저 다음과 같은 방법으로 마크업을 인코딩/디코딩합니다.[base64_encode][1]/decode(퍼포먼스 히트를 약간 줄인다) 또는 (가능하다면) json을 통해 전달되는 내용에 대해 좀 더 선별적으로 선택하고 대신 클라이언트 측에서 필요한 마크업을 생성합니다.

이 모든 대답들이 나에게 통하지 않았다.

하지만 이건 그렇다.

json_encode($array, JSON_HEX_QUOT | JSON_HEX_TAG);

이 답변 덕분에.

언급URL : https://stackoverflow.com/questions/5064561/sending-html-code-through-json

반응형