doSearch는 AJAX 통신을 통해 JSON 형식의 데이터를 시트에 로드합니다.
SearchMode 0, 1, 2에서 사용합니다. (SearchMode 3, 4, 5는 doSearchPaging을 사용)
AJAX 통신 없이 데이터만 바인딩하려면 loadSearchData를 사용하세요.
비동기형식으로 동작하므로, 데이터 로드 후 처리는 onReceiveData, onBeforeDataLoad, onDataLoad 이벤트에서 구현해야 합니다.
기본적으로doSearch는 시트의 기존 데이터를 제거하고 서버에서 가져온 데이터를 로드합니다.
기존 데이터 뒤에 새 데이터를 추가하려면append: true옵션을 사용하세요.
서버 응답(JSON) 구조와 관련된 상세 내용은 조회 응답 규격을 참고하세요.
조회 시 자동 포커스 (Cfg)IgnoreFocused, 메시지 표시 (Cfg)SuppressMessage, 프로그레스바 (Cfg)SearchProgress를 참고하세요.
void doSearch( url, param, method, append, reqHeader, callback, timeout, sync, next, strictParse, traditional, parent );
| Name | Type | Required | Description |
|---|---|---|---|
| url | string |
필수 | AJAX를 통해 호출할 url |
| param | string | object |
선택 | 서버로 전송할 파라미터 |
| method | string |
선택 | 전송방식 GET / POST 선택 (default: 'GET') |
| append | boolean |
선택 | 기존 데이터에 append 여부조회 방식의 차이로 인해 append:1(true)사용 시 SearchMode:2인 경우 onRenderFinish이벤트가 발생하지 않습니다.0(false):기존 데이터 제거 후 조회 데이터 로드 (default)1(true):기존 데이터에 조회 데이터 추가 |
| reqHeader | object |
선택 | 서버 전송시 request header에 정의할 내용 ex : {"callBy":"ibsheetObject","method":"doSearch"} |
| callback | function |
선택 | 조회 후 호출할 콜백 함수 |
| timeout | number |
선택 | 서버 통신 최대 대기 시간 (단위: 초(second), default: 60) |
| sync | number |
선택 | 동기 조회 여부. 비동기일 경우 연속으로 호출시 이전 조회가 종료되지 않으면 이후의 조회는 무시됩니다. 연속으로 호출해야 되고, 반드시 모든 조회가 완료되어야 한다면 동기 조회 모드를 사용해야 합니다.0:비동기 방식 (default)1:비동기 순차 처리 방식2:동기 방식 |
| next | object |
선택 | 데이터 로우 객체 지정한 행 위에부터 데이터 append. (append:1(true)일때만 사용 가능) |
| strictParse | boolean |
선택 | JSON 파서 선택0(false):유연한 파서 사용 (default) — 여분의 콤마, 프로퍼티 이름 쌍따옴표 생략 허용1(true):브라우저 JSON.parse() 사용 (약 5배 빠르나 5만건 이내에서는 차이 미미) |
| traditional | boolean |
선택 | 서버로 배열 param 전송 시 형식 설정param: {"data": [1, 2]} 일 때0(false): data[]=1&data[]=2 (default)1(true): data=1&data=2 |
| parent | object |
선택 | 데이터 로우 객체 (동적 트리 조회 사용시 부모에 해당하는 행 지정) |
none
// GET 방식으로 데이터 조회
sheet.doSearch("./insaAppMain.do", "dept_cd=031&position_cd=A0", "GET");
// POST - Form Data 방식 (reqHeader 미설정)
sheet.doSearch({
url: "./insaAppMain.do",
param: {"dept_cd": "031", "position_cd": "A0"},
method: "POST"
});
// → Form Data: dept_cd=031&position_cd=A0
// POST - JSON Payload 방식 (Content-Type: application/json 설정)
sheet.doSearch({
url: "./insaAppMain.do",
param: {"dept_cd": "031", "position_cd": "A0"},
method: "POST",
reqHeader: {"Content-Type":"application/json"}
});
// → Request Payload: {"dept_cd":"031","position_cd":"A0"}
// 인증 토큰 전송
sheet.doSearch({
url: "./insaAppMain.do",
param: { dept_cd: "031" },
method: "POST",
reqHeader: { "Authorization": "Bearer eyJhbGciOiJIUzI1..." }
});
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |
| core | 8.0.0.4 | 다른 API와 동일하게 제공하기 위해 params 인자명을 param으로 변경, 기존의 params를 사용할 수 있지만 권장하지 않음. |
| core | 8.0.0.5 | timeout 인자 추가 |
| core | 8.0.0.6 | sync 인자 추가 |
| core | 8.0.0.7 | next, strictParse, traditional 인자 추가 |
| core | 8.0.0.25 | parent 인자 추가 |