질문 Q #14299
CI JavaScript 질문
학학이 2016-07-20 09:06:45

controllers/test.php 가

views/test.php를 로드하고

views/test.php안에는

<body>
  <?=$names[0]->lee?>
</body>

이와 같이 cotrollers/test.php에서 보내준 데이터로 html을 구성하는데

 

views/test.php로 바로 데이터를 넘기지 않고

 

assets/js/test.js라는 

JS 파일로 데이터를 보낸후에 jQuery를 이용해서 DOM에 데이터를

넣어주고 싶은데 어떤식으로 해야할까요?

 

controllers에서 views가 아니고 JS로 데이터를 넘기는 방법이 있나요?

답변 7
#1 kaido 2016-07-20 09:24:09

없습니다.

JS 상수 정도면 넘겨줄수 있습니다.

#2 배강민 2016-07-20 09:52:51

view를 그리듯이 js도 그려버리고 사용하면 되긴할 수 있지만, 상당히 지저분해질 수 있습니다.

ajax로 하시죠 그냥

#3 학학이 2016-07-20 10:02:55

될거라 믿었는데 절망이네요..

php에서 동적으로 table td 그리는데 어디서인지 모르게

rowspan이 밀려서 js에서 DOM에 값 넣어주려고 했는데 

table 왜 밀리는지 계속 찾아야겠네요...

#4 kaido 2016-07-20 10:08:32

@학학이

table 밀린것을 js로 해결 하는 것은 좋지 않습니다.

오히려 이렇게 생각 해보세요.

 

코더가 php 코드를 잘 모르는데도, 테이블이 맞게 그려질 수 있는 방법.

 

view 의 if 문은 적을 수록 좋습니다.

#5 학학이 2016-07-20 10:22:02

@kaido

현재 유지보수 중인 코드가 php 코드에서 if 문으로 table을 만들어져 있어 bootstrap-table로 변경하려고 합니다. http://bootstrap-table.wenzhixin.net.cn/documentation/

bootstrap-table은 table에 thead, tbody 데이터를 JS 객체로 만들어 넣어주면 되기 때문에 table css 걱정 안해도 되는데

php로 하려니 말씀하신것 처럼 view에 if문과 <?php ?> 문을 많이 쓰게 되네요... 

#6 kaido 2016-07-20 10:26:07

@학학이

음... 안봐도 보이네요. 어떻게 코드가 생겨는지...

테이블 밀리는건 100% 조건이 꼬인겁니다. [너무 당연해서 말하기 민망할 정도.]

 

 

우선 이렇게 생각 해보세요.

MVC가 나온 이유를 생각 해보세요.

데이터의 조건은? C 에서 하는 겁니다. V는 최소한의 코드로 출력만 해야 합니다.

그런데 V에서 이조건 저조건으로 데이터가 변동이 많이 된다면... 굳이 분리를 한 이유가 없게 됩니다.

 

계속 유지보수 하실 거라면 이번에 View 에서 php 코드를 몇 줄이나 더 뺄 수 있는지 연구 해보시는 것이 좋을것 같습니다.

이는 언젠가 넘어서야 할 과제중 하나이거든요.

#7 학학이 2016-07-20 10:41:26

@Kaido

넴.. php 자체가 처음인데 기존 코드에 기능 추가하려니

어느 부분까지 코드를 유지하고 버려야할지 판단이 잘 안나네요..

좀 시간을 갖고 생각해보면서 view 단 데이터를 어떻게 줄일지 고민해야겠네요..