본문 바로가기

Javascript

jquery를 이용한 ajax 처리

728x90
반응형
당연한 것을 당연하게 알지 못하고 있다가 이번 프로젝트를 통해서 알게 되었네요. jquery를 이용하여 ajax를 처리하는 방법입니다. 기본적으로 다음과 같이 처리를 합니다.
 
Code Snippet
  1. $.ajax({
  2.     url: UrlEncoding('../Common/Ajax/gateDH.aspx?atype=' + 1 + '&no_car=' + $('#txtCarNum').val() + '&yn_delete=N&autosearch=1'),
  3.     dataType: "json",
  4.     success: function (data) {
  5.         if (data.Car_List.length > null) {
  6.             if (data.Car_List.length > 1) {
  7.                 response($.map(data.Car_List, function (item) {
  8.                     return { value: item.CD_FULLNAME, id: item.NO_CAR };
  9.                 }));
  10.             } else {
  11.                 $('#txtCarNum').val(data.Car_List[0].NO_CAR);
  12.                 GateInInit();
  13.                 getInOutFlag(data.Car_List[0].CD_FULLNAME);
  14.                 return false;
  15.             }
  16.         } else {
  17.             window.open("Register_Car_Info.aspx?car_no=" + $('#txtCarNum').val(), "_blank", "top=0,left=0,width=570,height=240, toolbar=no, location=no, status=no, memubar=no, scrollbars=no, resizable=no");
  18.         }
  19.     }
  20. });

기본적으로 다음과 처리 하시면 됩니다. type은 POST방식인지 GET방식인지를 구분하는 부분입니다. 여기서 몇가지 중요한 부분이 있습니다. 
cache의 경우는 true로 할 경우 이전 값을 캐쉬로 남겨 처리하기 때문에 가끔 오작동을 할 수 있습니다. 그러니 꼭 false로 처리 하는 것이 좋아보입니다. 
async의 경우는 비동기 처리를 지정하는 부분입니다. async를 true로 할 경우 동기식 처리를 하여 저 ajax가 처리 되는 동안 화면이 멈춰 있는 듯한 느낌을 주게 됩니다. 혹시 꼭 이것이 작업이 되어진 후 다음 코드가 실행 되어야 된다면 true로 설정후 처리하는 것이 맞을 것이고, 비동기 처리를 해야 된다면 저 부분을 꼭 false로 처리해야 합니다. 
dataType은 리턴 값의 형식을 지정해 주는 곳입니다. 혹시 리턴값과 저 값이 틀리면 에러가 나니 정확히 기입해주셔야 합니다. ^^ 
저같은 초보분들에게 도움이 조금이라도 되었으면 하는 마음에 포스팅 남깁니다 ^^



728x90
반응형

'Javascript' 카테고리의 다른 글

jQuery 비슷한 ID, Name 찾기  (0) 2022.05.03
autocomplete 높이 고정  (0) 2013.05.06
jquery autocomplete selectFirst, minLength  (0) 2013.05.06
Jquery autocomplete  (0) 2013.05.06
스크롤 이벤트 처리  (1) 2011.02.11
FireFox javascript의 innerText 문제  (0) 2011.01.05