제목 | 코드이그나이터로 handsontable을 사용하고 있습니다. ajax로 데이터통신하고있는중에 질문합니다.. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 히디니 | 작성시각 | 2017/05/20 12:56:18 |
|
|||
안녕하세요!!!! 제가 코드이그나이터로 handsontable를 이용해서 환율관리프로그램은 만들고 있습니다. 현재 ajax post방식으로 data를 보내서 등록을 구현하고 싶은데요... 지금 데이터를 보내면 Array ( [0] => Array ( [0] => 2016-01-01 [1] => 2017-05-12 [2] => 1000.0000 ) [1] => Array ( [0] => 2016-05-12 [1] => 2017-05-12 [2] => 0 ) ) 이렇게 배열로 들어가게 됩니다. 여기서 제가 궁금한점은 [0] => 2016-01-01 [1] => 2017-05-12 [2] => 1000.0000 [3] => 0 [4] => 0.0000 말고 [startdate] => 2016-01-01 [enddate] => 2017-05-12 [currency] => 1000.0000 이런식으로 01234대신 제가 원하는 이름으로 바꿔서 보낼수 있는가하는 점입니다 ㅠㅠ ajax로 데이터통신하는걸 처음해봐서 검색도 어떻게 해야할지 몰라 여기에 질문을 드립니다 ㅠㅠㅠ 완전 생 초보라서 쉽게 설명부탁드려요!! 잘부탁드립니다 ㅠㅠ
밑의 소스는 handsontable 오픈소스를 이용하여 짜본 소스입니다..
var $container = $("#table-list"); var $console = $("#example1console"); var $parent = $container.parent(); var header = [ "시작일자", "마감일자", <?php foreach ($menu['list'] as $i => $row):?> "<?= $row['ech_basic'] ?>:<?= $row['ech_currency'] ?>", <?php endforeach; ?> ]; var data = [ <?php foreach ($list as $i => $row):?> [ "<?= $row['startdate'] ?>", "<?= $row['enddate'] ?>", <?php foreach ($menu_basic as $a => $row_units): $unit = $this->db->where('ech_startdate', $row['startdate'])->where('ech_enddate', $row['enddate'])->where('ech_basic', $row_units)->where('ech_currency', $menu_currency[$a])->get('exchange')->row_array(); if($unit != null){ ?> "<?= $unit['ech_currency_unit'] ?>", <?php }else{?> "0", <?php } endforeach; ?> ], <?php endforeach; ?> ]; $container.handsontable({ data: data, rowHeaders: true, colHeaders: header, contextMenu: true }); var handsontable = $container.data('handsontable'); $parent.find('button[name=save]').click(function () { $.ajax({ url: "/api/exchange/create", data: {"data": handsontable.getData()}, //returns all cells' data dataType: 'html', type: 'POST', beforeSend: function () { console.log(handsontable.getData()); }, success: function (res) { if (res.result === 'ok') { $console.text('Data saved'); } else { $console.text('Save error'); } }, error: function () { $console.text('Save error. POST method is not allowed on GitHub Pages. Run this example on your own server to see the success message.'); } }); });
|
|||
다음글 | 엑셀 다운기능 완료후 DB 입력 ? (2) | ||
이전글 | 모델은 컨트롤러에서 밖에 안불러 지나요? (2) | ||
jcoop
/
2017/05/20 14:04:38 /
추천
0
Ajax로 데이터를 버튼을 누르면 가져오는 것 밖에는 안해봐서 설명은 못하겠네요. Ajax에서는 Json형식으로 데이터를 처리한다고 들었습니다. 배열에 이름을 주는 형태이겠죠. arr[0]이 아니라, "startdate" : 2017-05-10, "enddate" : 2017-05-20 . . .
|
곰멍
/
2017/05/20 21:03:38 /
추천
0
var data = []; $.each(handsontable.getData(), function(k, v) { var row = {}; row.startdate = v[0]; row.enddate = v[1]; row.currency = v[2]; data.push(row); }); 이런식으로 데이터를 재가공 후 data: {"data": data} ajax로 데이터를 지정하는 부분에 재가공한 변수를 넣어주시면 될 것 같습니다. |