programing

당신은 Ajax JSON입니까 HTML입니까?

sourcejob 2023. 9. 11. 21:38
반응형

당신은 Ajax JSON입니까 HTML입니까?

AJAX를 하기 위해 선호되는 방법은 무엇입니까?

AJAX용 Jquery를 사용하여 PHP로 작성된 검색 페이지를 위한 것이라면

응답을 어떻게 처리하시겠습니까?

a)응답에 모든 관련 html/styling이 포함되도록 합니다.

아니면

b)순수 JSON을 보내고 자바스크립트 함수가 자바스크립트 변수를 중심으로 html/styling을 구축하도록 합니다.

저는 둘 다 장점을 볼 수 있습니다.'a'가 더 쉬운 반면 'b'가 더 효율적인 것은 분명합니다(gzip은 아마도 차이를 무시할 수 있게 만들 것입니다).

html로 하겠습니다.

  • json에서 html로 변환하는 것은 클라이언트를 느리게 만들 것입니다 (그리고 당신은 사용자의 클라이언트의 성능에 대해 아무것도 모릅니다).
  • json에서 그것을 하는 것은 당신이 두 번 (당신의 서버의 데이터 구조에서 json으로, 그리고 나서 json에서 html로) 변환해야 한다는 것을 의미합니다.
  • 당신은 아마 서버에서 html로 렌더링을 할 것이고, 그래서 당신은 인프라를 가지고 있을 것입니다.
  • 네트워크 트래픽 차이는 무시할 수 있습니다.
  • 모든 작업을 수행하는 라이브러리를 사용할 수 있습니다(예: JQuery의 경우 html을 반환하는 ajax 호출이 jQuery('#div').load(url)).

저는 'a'가 당신이 가장 고수하고 싶어하는 선택이라고 생각합니다.

일관성 있는 템플릿 서버 측면을 유지하는 것이 훨씬 더 쉽습니다(AJAX가 아닌 시나리오에서 재사용할 수 있음).

클라이언트 측 템플릿은 매우 우아하지 않습니다. (만약 당신이 템플릿을 사용할 것이라면 나는 이것을 제안합니다: http://ejohn.org/blog/javascript-micro-templating/)

스타일 면에서는 콘텐츠를 로드할 때 페이지가 로드되지 않을 때 미니화된 스타일시트를 포함할 것입니다.

개인적으로, 저는 반환된 데이터를 프로그래밍 방식으로 처리할 필요가 없는 한, 대부분 ajax calls에서 HTML의 일부분을 반환합니다.예를 들어,

  • 자동 완성 기능.데이터의 JSON 배열을 반환하고 javascript를 사용하여 적절한 요소를 만듭니다.
  • 실제로는 자료를 요청하지 않고 게시하는 것.인라인 편집이 떠오릅니다.저는 주로 JSON 형식으로 상태 메시지를 회신합니다.

그렇기는 하지만, 저는 두 가지 선택지가 모두 유효하다고 생각합니다.순수주의자들은 동의하지 않겠지만, 가끔은 평범한 HTML로 돌려주는 것도 충분합니다.

저는 기본적으로 Json과 함께 갈 것입니다.가볍고(오버헤드가 적으며), 구현하기 쉬운 데이터 교환 형식입니다.'b'를 쉽게 만들기 위해서는 좋은 Object-to-Json lib만 있으면 됩니다.

여기서 여러분 스스로에게 질문해야 할 중요한 질문은, 여러분의 목표가 무엇인가 하는 것입니다.너는 하니

  • 유선을 통한 트래픽 증가와 클라이언트 CPU 사용량 감소를 원합니다.
  • 클라이언트 CPU 사용량을 늘리고 유선을 통한 트래픽을 줄이기를 원합니다.

그런 맥락에서 또 다른 질문은 얼마나 많은 사람들이 당신의 사이트에 전화를 걸느냐는 것입니다.하루에 수십만 건의 페이지 방문이 있는 경우, 예를 들어 유선 트래픽을 줄이는 것을 고려해야 합니다.

대부분의 경우, 당신은 HTML 마크업을 생성하기를 원할 뿐만 아니라 당신이 당신의 컴퓨터에서 다룰 수 있는 보통의 데이터를 클라이언트에게 보내기를 원합니다.ECMA-/Javascript.ck,JSON(거대한 데이터 블록을 처리할 필요가 없는 경우) 첫 번째 선택이 되어야 합니다.JSON 수 .extremly 빨리javascript.

반복하자면, 서버에서 완전한 렌더링 마크업을 생성하여 클라이언트에게 전달할지 아니면 클라이언트에게 작업을 수행하도록 할지는 여러분이 무엇을 할 계획이 있는지에 따라 달라집니다.

정적 페이지는 당신이 정확하게 추측하는 것입니다. 정적입니다.그러나 클라이언트/브라우저의 CPU 사용량이 없음을 의미합니다.따라서 "동적인" 페이지 동작이 필요하지 않거나 원하는 경우 정적 페이지만 있으면 됩니다.

JSON 방식은 데이터와 프레젠테이션의 논리적 분리 때문에 매력적입니다.나중에 언젠가는 스타일(프레젠테이션)을 변경해야 하고, 그렇게 될 수밖에 없다면, JSON 데이터를 변경할 필요가 없지 않습니까?

언급URL : https://stackoverflow.com/questions/3353434/do-you-ajax-json-or-html

반응형