체인의정석

JS grid를 이용한 게시판 생성하기 본문

개발

JS grid를 이용한 게시판 생성하기

체인의정석 2020. 8. 20. 13:56
728x90
반응형

<Client>

js grid 에서 rowClick 설정 값을 쓰면 js grid의 한 행을 클릭했을 때 작동할 함수를 쓸 수 있다.

            rowClick: function(args) { 
                console.log(args)
                console.log(args.item.demand_idx)
                sendurl(args.item.demand_idx);
            },

rowClick안에 들어오는 args값을 콘솔로그로 찍어보면 js grid에 있는 모든 열값을 가져올 수 있다. 여기서 인덱스에 해당하는 정보를 가져온 뒤 이를 통하여 링크로 연결해주는 sendurl함수를 만들어 준다.

    function sendurl(didx){
        location.href = "/techdemand_details?didx=" + didx;
    };

location.href를 통하여 get방식의 요청을 보낸다. 이때 인덱스를 담아서 받아서 상세 url을 다르게 분류해준다. 여기서 인덱스 부분은 서버 사이드에서 받아서 사용하기 때문에 링크표시만 위와 같이 나온다.

 

이런식으로 url에 인덱스 정보가 들어간 상태로 두는 이유는 상세 게시판 링크를 공유하거나 다시 입력했을때 거기에 해당되는 페이지가 뜨도록 한 것이다.

 

<Server side>

router.get('/techdemand_details', function(req, res, next) {
  let didx = req.query.didx;
  // let query = `SELECT /* ?.techdemand_details */
  //                   tech_name,
  //                   tech_idx
  //               FROM tech_info
  //               WHERE tech_idx = ? AND reg_id = ? `;
  // let rows = await DB.Sql( query, [ module_path, tidx, userid ]);
  // if(rows.length > 0){
  //   res.render('tech_register_detail', {"tidx":rows[0].tech_idx, "tech_name":rows[0].tech_name, "userid":userid});
  // }else{
  //   res.render("autherror")
  // }
});

 다음과 같이 req.query.key로 지정해주면 ?key=value로 했었던 부분에서 value의 값이 req.query.key로 들어오게 된다.

필요시에 주석과 같이 이 인덱스를 활용하여 db에서 필요한 정보를 빼온 후 다음 페이지에 띄울 정보를 함께 render에 넣은 후 넘겨주면 된다.

 

IT 유튜브 타임해커 보러가기

www.youtube.com/channel/UCHsRy47P2KlE749oAAjb0Yg?view_as=subscriber

 

타임해커

-블록체인/인공지능 -웹개발(프론트/백) -광고(페이스북/구글/네이버) -사업계획서 작성 -비전공생을 위한 IT 공부법 채널이름은 기획,마케팅,개발을 다 같이해서 업무성과를 내는데 드는 시간을

www.youtube.com

 

728x90
반응형
Comments