2011-01-04 14 views
3

데이터를 반환하는 웹 서비스가 꽤 큰 세트는 600 열, 20 열일 수 있습니다. 이 데이터를 JQuery 코드의 html 테이블에로드하는 가장 빠른 방법은 무엇입니까?jquery에서 큰 데이터로드

반환 된 데이터를 반복하여 테이블 html을 만들려고했는데 문자열 안에 테이블 DOM을 만들었지 만 루핑 부분이 매우 느립니다. 당신이 웹 서비스를 변경하거나 다른 서비스 요청을하는 ....

감사

답변

2

가 가능을 나는 JQuery와 템플릿의 들었지만, 나는이 기술은 대량의 데이터에 대한 빠른만큼 확실하지 않다 그것과 데이터 서버 쪽을 구문 분석하고 HTML을 반환합니까? 클라이언트 측에서 JSON을 처리하면 병목 현상이 발생할 것입니다. 서비스에서 필요한 HTML을 반환하도록 할 수 있다면 클라이언트 측에서 간단하게 element.html(data)입니다.

편집 : JSON 또는 HTML과 각각의 장단점을 반환하는 문제는 여기서 논의 된이 꽤 : 는 1, 23, 45 것 같다

+0

처리 된 데이터를 처리하는 것은 좋은 생각이지만 여전히 데이터 양으로 수행해야합니다. 덕분에 예를 들어 – Xaqron

1

이 디자인의 문제입니다 . 한 번에 600 x 20 데이터 항목을로드하는 것은 좋은 생각이 아닙니다. 포켓 PC 또는 TC (씬 클라이언트)와 같은 시스템 리소스가 부족한 고객이 그러한 페이지를 방문하는 데 어려움을 겪을 것이라고 생각하십시오.

웹 서비스 데이터를 캐시하고 사용자 작업에 따라 클라이언트 브라우저에 청크로로드해야합니다. 일부 Ajax 컨트롤을 사용하여 그렇게 할 수 있습니다.

+0

? 도구? – sarsnake

+0

http://www.codeproject.com/KB/ajax/AjaxDataGridSample.aspx – Xaqron

+0

감사합니다.하지만 저는 Ajax의 MS 풍미를 피하려고합니다. 나는 Jquery의 깔끔한 접근법을 고수하고있다. 기본적으로 사용자의 생각은 "사용자가 아래로 스크롤하면"더 많은 데이터를로드합니까? – sarsnake

0

http://www.infinite-scroll.com/

난 당신이 json으로 DB 형식의 데이터에 대한 응답 서버 측 페이지를 작성할 수 ... JSON DB 가장 유용 할 수있는 곳이라고 생각 몇 행 .. 그런 다음 행을로드하고 자신의 <table>과 같은 디스플레이 모델을 선택하여 "overflow:auto;"으로 처리하고 행을 추가하려면 자체 아약스 코드를 수행하거나 청크로 해당 테이블에 행을 추가하십시오. 이미 '무한 스크롤'과 같은 것을 사용하십시오. .