2011-08-24 11 views
1

레벨 3, 레벨 2 및 레벨 3이 있다고하는 상황이 있습니다. level1에서 선택한 옵션에 따라 level2가 달라지며 레벨 2에서 선택한 옵션에 따라 달라집니다. 내 질문은 다음과 같습니다. 모든 데이터를 한 번에 가져 오는 것이 더 좋습니다. 즉, 페이지로드시 사용자가 선택한 옵션에 따라 jquery를 사용하여이 데이터를 필터링하거나 다음 멀티 셀렉트의 데이터를 가져 오기 위해 데이터베이스에 ajax 기반 요청을해야합니다. 사용자가 옵션을 선택할 때마다 어느 방법이 더 좋을까요 ??AJAX 및 Jquery에 대한 조언이 필요합니다.

+2

은 몇 개의 옵션이 있는지에 따라 다릅니다. –

+0

은 red-X와 일치합니다. 많은 옵션이 없다면 AJAX는 무의미하며 non-JS 사용자를위한 접근성을 제한합니다 – WickyNilliams

+0

옵션이 많으면 매회 요청을하는 것이 좋을 것입니다. 그렇지 않으면 처음부터 모두로드하는 것이 좋습니다. 당신이 잘 모르는 경우 두 가지 옵션을 시도하고 소요 시간을 확인해야합니다. –

답변

0

내 대답은 표시된 데이터의 양에 따라 달라집니다.

level1, level2, level3의 데이터 양이 비교적 적은 경우 - 모든 데이터를 검색하면 도움이됩니다. 많은 요청을 줄임으로써 서버에 부하를 절약 할 수 있습니다. 이것은 당신이 약간의 자바 스크립트를 쓰게 만들지 만, 목록의 작성은 번개가 빠를 것입니다.

반면에 트리에 많은 양의 데이터가있는 경우 (예 :100 레벨 1 아이템, 각각 100 레벨 2 아이템, 100 레벨 3 아이템 있음), 당신은 백만 개의 아이템을 전송하게 될 것입니다. (이 유즈 케이스에는 엄청난 오버 헤드가 있습니다.)이 경우 좋은 해결책은 별도의 AJAX입니다 각 목록을 요청하십시오.

0

서버 속도에 따라 Ajax는 비동기식 (다시 게시 할 필요 없음)이고 데이터가 전송되는 방식 때문에 매우 빠른 기술입니다. 나는 그것이 레코드의 양에 달려 있다고 말할 것입니다. 여기서 프로그래머 기준을 사용해야합니다. 내 말은, 콤보에 많은 옵션이 있고 서버가 느리거나 다른면에있는 경우 처음부터 가져와야합니다. 어느 쪽이든 당신은 콤보 변경 이벤트에서 아약스 함수를 계속 호출 할 수 있습니다.

는 그게 최선의 방법입니다 하나에 여러 요청을 결합 할 수있는 선택의 여지가 당신의 criteria-

0

언제든지를 사용합니다. 각 요청은 불필요한 자원을 더 많이 사용합니다. 물론 이것은 사용 가능한 모든 옵션을 한 번에 가져올 수 없거나로드하는 데 너무 많은 추가 데이터 일 수 있기 때문에 처리중인 데이터의 유형에만 의존합니다.

1

나는 모든 선택에서 데이터베이스에서 데이터를 가져 오기 위해 ajax를 호출해야한다고 생각한다.

0

어느 정도까지 당신이 말하는 데이터의 양에 달려 있습니다.

합리적으로 적은 금액 - 몇 KB 상당 - 한꺼번에 다운로드해야합니다. AJAX 쿼리가 풀릴 때까지 기다리는 것보다 클라이언트 측을 재구성하는 것이 더 빠르며, 특히 사용자가 주위를 클릭하고 여러 개의 AJAX 요청을 연속적으로 보내는 경우 서버에 적중 횟수가 줄어 듭니다.

한 번의 다운로드로 수 MB의 데이터를 필요로하는 주요 응용 프로그램이 있다면 작은 AJAX 쿼리를 사용하는 것이 좋습니다.

사이에 판단을 요구하지만, 항상 한 번의 다운로드와 클라이언트 측 정렬을 기대합니다. 새로운 request-and-response로 인한 지연을 최소화하거나 제거하는 것이 좋습니다.

+0

가져 오는 데이터는 총 약 100KB이므로 무엇을 제안합니까? 지금은 jquery를 사용해 보았는데 내 로컬 컴퓨터에 문제가없는 것 같았고 페이지도 잘로드되는 것 같습니다. 당신은 무엇을 제안합니까 – pranky64

+0

타협은 어떻습니까? 데이터를 제외하고 페이지를로드 한 다음 단일 AJAX 쿼리에서 전체 100KB 데이터 청크를 가져옵니다. 그렇게하면 서버 요청은 최소화되지만 사용자는 페이지가로드 될 때까지 기다리지 않습니다. AJAX 쿼리가 완료 될 때까지 첫 번째 스크롤 상자를 숨 깁니다. – Blazemonger

+0

네, 그거 좋은 생각이야 .... 그걸 쓰면 될 것 같아! :) – pranky64

0

데이터 디버깅과 조작이 필요할 경우 쉽게 수행 할 수 있기 때문에 데이터베이스에 대한 요청을 기반으로 ajax를 수행해야한다고 생각합니다.

0

Jquery을 사용해야한다고 생각합니다.
및 다중 선택의 모든 선택 후에 데이터를로드해야합니다. 성능면에서 페이지 로딩시 모든 데이터를로드하는 것은 좋은 방법이 아닙니다 ..

관련 문제