/*

 

 Step 01

  - 메인 패널 생성하기.

  Ext.Ajax.request()

  - url : 서버 URL

  - success: Ajax통신이 성공했을때

  - failure :  Ajax통신이 실패했을대

  - callback : 실패/성공과 상관없이 Ajax통신이 끝났을때.

 

  - method : HTTP Method (POST,GET을 주로 사용);

 

  - params, jsonData, xmlData

 

 

 - 먼저 검색방식은 크게 id, css selector로 나뉨

- id 파라메터를 가지고 검색하는 함수들

fly(), get()

- css selector로 

select(), query() 등등..


- 결과값역시 dom node, Ext element로 나눔.

  즉, 원하는게 dom node인지 Ext Element인지 판단 후 관련있는 메소드를 호출 하면 됨.

- 리턴값이 dom node인 경우

   query() . . .

- element인 경우

fly(), select() ...

 */

Ext.setup({

onReady: function() 

{

objPanel=new Ext.Panel({

    fullscreen:true,

    scroll: 'vertical',

    dockedItems:[{

    dock:"top",

    xtype:"toolbar",

    title:"ajax test",

    items:[{

    text:"load",

    handler:function(){    

    sendData();

    }

    }]

    }]

    });

}

});



function sendData()

{

objPanel.setLoading(true);

Ext.Ajax.request({

        url: 'menulist.json',

        

        method:"POST",

        success: function(response, opts) {     

            objPanel.update(response.responseText);

            

            // XML 파싱

            parseData(response.responseText);

            

        },

failure: function(response, opts) {

  console.log("failure ", response.status);

},

callback:function(opts,isSuccess,response){

console.log("callback ", opts, isSuccess, response);

objPanel.setLoading(false);

}

    });

}


//7. 데이터 처리.

function parseData(strInfo)

{

// js DOM 방식.

var objJSON  = eval("("+strInfo+")");

console.log(objJSON);

console.log("메뉴 개수는? ", objJSON.menu_list.length);

//sencha 방식.

var objJSON2 =Ext.util.JSON.decode(strInfo)

console.log("메뉴 개수는? ", objJSON2.menu_list.length);

}


------------------------------------ menulist.json -------------------------------------------

{"menu_list":[

{"id":"id_0","out":"images\/menu_1.png","over":"images\/menu_1over.png"},

{"id":"id_1","out":"images\/menu_2.png","over":"images\/menu_2over.png"},

{"id":"id_2","out":"images\/menu_3.png","over":"images\/menu_3over.png"},

{"id":"id_3","out":"images\/menu_4.png","over":"images\/menu_4over.png"},

{"id":"id_4","out":"images\/menu_5.png","over":"images\/menu_5over.png"},

{"id":"id_5","out":"images\/menu_6.png","over":"images\/menu_6over.png"},

{"id":"id_6","out":"images\/menu_7.png","over":"images\/menu_7over.png"},

{"id":"id_7","out":"images\/menu_8.png","over":"images\/menu_8over.png"},

{"id":"id_8","out":"images\/menu_9.png","over":"images\/menu_9over.png"},

{"id":"id_9","out":"images\/menu_10.png","over":"images\/menu_10over.png"}

],

"success":"true"}



 

'Sencha' 카테고리의 다른 글

Sass & Compass 설치  (0) 2012.04.14
sencha touch codeset  (0) 2012.02.28
jsonp  (0) 2012.02.21
이미지에 클릭이벤트 등록  (0) 2012.02.16
Ext.Component의 스타일 관련 프로퍼티, 메서드  (0) 2012.02.14

+ Recent posts