2013-04-05 4 views
0

저는 아약스를 통해 많은 양의 데이터를로드하고 자바 스크립트 모델의 어딘가에 저장하는 클라이언트 측 애플리케이션을 개발 중입니다. 즉, 내 응용 프로그램은 다음과 같은 요소가 있습니다jquery ajax 데이터 컨테이너

  • AJAX 호출 :로드 사용자 목록을,
  • 사용자의 목록 중에로드 (소득/성과를 기반으로 차트 데이터를로드 사용자 소득 및 결과) 재무 데이터를로드 초기 페이지로드 (변경되지 않음)
  • 지정된 기간 동안 선택한 사용자에 대해 재무 데이터를 검색 할 수 있습니다.
  • 대화 상자가있는 사용자 확인란 목록이있는 대화 상자가 있습니다. 대화 상자가 제출 된 후 재무 데이터가 검색됩니다. (아약스 경유)

전체 페이지로드 당 한 번만 일부 ajax 호출이 있고 필터가 변경 될 때마다 호출되는 일부 아약스 호출이 있습니다.

jquery는 데이터를 특정 DOM 객체에 바인딩하는 .data() 함수를 제공한다는 것을 알았습니다. 그러나 볼 수 있듯이 특정 데이터를 특정 DOM 객체에 바인딩 할 필요는 없지만 전역으로 관리해야합니다. 어떤 권장 접근법이 있습니까, 당신은 무엇을 제안합니까?

+0

전역 변수 개체에 어떤 문제가 있습니까? –

+0

@RezaOwliaei 아무 문제가 없습니다. 나는 바퀴를 재발견하는 것을 싫어한다. 그래서 나는 힌트, 좋은 접근법 등을 요구한다. – ducin

답변

2

전역 데이터의 경우 값이 포함 된 글로벌 자바 스크립트 개체를 고려해 볼 수 있습니다. 예를 들어, GlobalData에 선언 :이 검색 될 때

var globalData = {users : /*Put User List Here*/ }; 

그런 다음 바로 글로벌 데이터 객체에 값을 할당합니다.

$.ajax(success:function(data){ 
    globalData.transactions = data; 
}); 

.data() 함수를 사용하여 특정 UI 요소에 제한된 데이터를 할당 할 수 있습니다. 예를 들어 계정 목록을 표시하는 페이지 섹션이있는 경우이 ajax 계정 목록 요청과 같은 .data() 함수를 사용합니다.

$.ajax(success:function(data){ 
    $("#accountList").data(data); 
}); 
+0

$ ('body') .data()도 상당하다. –