2014-07-04 7 views
-1

테이블이 있고 아약스를 통해 행을 채우고 싶습니다.Ajax 데이터 응답 처리

서버에서 데이터를 보내는 두 가지 방법이 있습니다.
1. 원시 데이터 (JSON 문자열로 테이블 컬럼의 값) {"td1":"val1","td2":"val2"} 2. 미리 포맷 데이터 (<tr><td>val1</td>val2</td></tr>)

이러한 두 가지 방법의 장점과 단점은 무엇인가?
모바일 앱 및 웹 사이트와 같은 다른 클라이언트를 사용하고 있습니다.

+0

이를 정의하는 표준은 없습니다. 그러나 JSON에 대한 귀하의 예는 유효하지 않습니다. – Quentin

+0

표준에 따라 성능이 향상되었습니다. 자바 스크립트 나 서버 측에서 테이블을 만들어야하나요? 자바 스크립트는 페이지 크기를 늘리고 서버 측 처리는 아약스를 통해 전송되는 데이터 크기를 늘립니다. – ReZa

답변

1

올바른 형식의 JSON 데이터를 클라이언트 측 스크립트로 보내면 데이터를 더 잘 제어 할 수 있습니다. 그러나 구조화 된 HTML을 보내는 것이 필요할 수도 있습니다. 그 자체로 표준은 없지만 JSON을 보내는쪽으로 기울어 질 것입니다. 서버 측 언어에 따라 서버 측 배열을 JSON으로 변환 할 수있는 도구가 있습니다. 예를 들어 PHP에서는 json_encode()를 사용합니다. 희망이 도움이!

프로젝트를 생각하고 가장 잘 수행하고 유지 관리가 가장 쉬운 방법을 선택하십시오. 작동하지 않으면 다른 방식으로 시도하십시오.

0

나는 John Shipp의 말에 동의합니다.

일을하는 데 올바른 방법이나 잘못된 방법이 없으며 "표준"형식이 없습니다. a) 렌더링 된 출력을 생성하고 b) 클라이언트 쪽에서 수행하고자하는 모든 조작을 원하는 방식으로 고려하여 아키텍처를 결정해야합니다.

행을 테이블로 렌더링하는 것이 중요하고 올바른 형식의 HTML 출력을 이미 생성 한 서버 측 코드가있는 경우 HTML 행으로 보내면됩니다. 왜 더 많은 코드를 작성해야 할 필요가 없다면 객체 배열 (JSON)을 테이블로 렌더링해야합니까? 코드를 많이 작성할수록 무언가가 깨질 수있는 장소가 늘어납니다.

한편, 표시 할 데이터를 먼저 조작해야하거나 테이블에 들어갈 데이터를 렌더링/사용하는 여러 장소가있는 경우 개체 배열로 클라이언트에 보내고 Javascript 또는 테이블에 렌더링하기위한 설명이 포함 된 템플릿 프레임 워크.

성능면에서 나는 단순히 "걱정하지 마십시오"라고 말하고 싶습니다. 각 프로세스 간의 차이는 사용자의 관점에서 무시해도됩니다. 그리고 저는 데이터 크기 때문에 걱정할 필요가 없다고 생각합니다. 예외는 클라이언트에 전송되는 메가 바이트의 데이터에 대해 이야기하기 시작한 경우입니다.이 경우 전반적인 데이터 처리 및 아키텍처 변경을 고려할 수 있습니다 (예 : 더 나은 필터를 제공하므로 클라이언트에 보낼 데이터가 적습니다 (디자인에 적합한 경우).