안녕!

 

오늘은 몇일간 삽질한 결과를 좀 옮겨볼까해!

(참고로 이건.. 참고용)

 

코드가 개판일 수 있어

그래도 그걸 필터해서 보는건 자신의 몫이고

이건 참고용이니..

사실 js나 jquery는 잘 만지질 않아봤어 ㅋㅋ

백엔드만 주구장창..

 

상품을 인식

-> 해당 바코드가 세트아이템이 존재하는지 확인

-> 존재한다면 세트아이템에 대한 정보를 표시

 


cont

public function setItemProduct(){
        $barcode	= $this->input->post('barcode'); //상품의 바코드를 post 타입으로 받아서 barcode 변수에 담음
        $setList	= $this->[MODEL명]->getSetItemSaleList($barcode);	//이건.. set의 개념x 세트아이템에 대한 개념으로 barcode를 보내 WHERE절에 추가해 결과값을 setList 변수에 담음
        $json_data  = array(); //json_data array 타입을 선언
       
        if($setList){
            $json_data["addPcode"]       = $setList[0]['pcode']; //상품코드
            $json_data["addPrtnm"]       = $setList[0]['addprtnm']; // 세트아이템
            $json_data["addPrice"]       = $setList[0]['addprice']; // 세트아이템가격
            $json_data["addBarcode"]     = $setList[0]['barcode']; // 세트아이템 바코드
            $json_data["opt"]            = $setList[0]['opt']; 		// 세트아이템 명칭
        } else {
        	// 존재 데이터 없을 시, 빈값으로 ( 안하면 에러..)
            $json_data["addPcode"]       = "";
            $json_data["addPrtnm"]       = "";
            $json_data["addPrice"]       = "";
            $json_data["addBarcode"]     = "";
            $json_data["opt"]            = "";
        }
        header("Content-type:application/json;charset=UTF-8");
        echo json_encode($json_data,true);

    }

 

 


JS view

function setItemProduct(barcode) {
	if(typeof barcode != 'undefined' && barcode != ''){ // 상품 바코드 인식이 없다면 pass
		var url = "/cont/setItemProduct/";
		var err = '';
        var returnOpt = "";
        $.ajax({
            type: "POST", // 데이터 전송 방식
            url: url, // 컨트롤러 URL
            dataType : "json", //데이터 타입
            async:false, // 전역변수설정, false로 해야지 전역변수로 사용 가능
            data: { 'barcode' : barcode}, // 
            success: function(data) { //success
                if (barcode == data.addBarcode) {	// 인식된 제품의 바코드와 쿼리 바코드가 일치하다면..?
                    //alert("productFind opt = " + data.opt); // alret로 변수가 정상적으로 존재하는지 확인
                   
                }
                returnOpt = data.opt; // 이쪽에다가 변수를 처리해줘야지 변수 return이 가능 이외의 곳은.. undefine
            },
            error: function (xhr, desc, err) { // 에러처리
              alert("code:"+xhr.status+"\n"+"message:"+xhr.responseText+"\n"+"error:"+err); //에러구문 alert
              console.log(err);  //에러구문 console.log

              return false;    
            }		  
        });
        //alert(returnOpt); // 리턴값 확인
        return returnOpt; // 리턴
        
       
	}
}

 


view

function onInsertRow(barcode,status) { //barcode, status는 다른 친구들이야 .. :)
   var returnOpt = setItemProduct(barcode); //ajax에서 조건문을 처리를 위해서 변수에.. 
				.
                .
                .
                .
                .
}

 


model은.. 적지 않았어 ㅎㅎ

어쨋든.. ! 이번 기회를 통해서 .. ajax를 공부해봤는데

아.. 하면서도 하... 하기도 하더라구

 

내가 구현하고 있는건 쉽게말해서 결제창이야.

우리가 편의점이나, 백화점, 마트 어딜가나 POS 기능을 사용하잖아?

 

그런데 할인품목도 있을거구..

이거랑 함께사면 더 할인을 해주는 뭐 그런것도 있을거구..

 

그런 기능 중에 일부를 구현했어

 


"왜 다 쓰지도 않을거면서 다른 변수들도 선언 해두었니!? "

다음 기능을 위해서랄까..?

 

어쩃든.. 계속 창이 새로고침 되면 안되잖아?

ajax는 고정된 화면 상태에서 값의 변화가 이루어 져야해

그러다 보니 비동기적으로 처리 가능한 ajax를 사용했어야했고..

 

"혹시나 이글을 보고 이렇게 사용해도 가능해!"

 

혹은

 

"기술적으로 이부분은 없어도 되고 이 부분만 들어가면된다!"

 

이런게 있다면 적어주길바라

피드백은 내게 큰 힘이 된다는걸 알아줘!


 

"js는 UI 사용상 기능을 위한거야!"

"응 그건 어쩔 수 없어.. 구조가 이미 엉망인 상태에서 인수인계 받은거라"


이번에.. 2차 배열로 인한 고생을 좀 했어

또한.. undefine도 그렇구 ..

 

위에 있는 내용대로 하니.. 

다 해결됐지 모야!

 

하나하나 주석을 달아놨으니 참고하길 바라!

 

어쨌든...!ㅋㅋ

그럼 20000!

 

'공부중 > Ajax' 카테고리의 다른 글

[Ajax] undefine 해결, ajax 전역변수 및 변수 사용  (5) 2020.04.13
  1. Favicon of https://freesia1092.tistory.com BlogIcon 예쁜엄마♡ 2020.04.13 20:27 신고

    특별히 편안한밤 보내세요😃🌸

    • Favicon of https://kecoz.tistory.com BlogIcon kecoz 2020.04.13 21:14 신고

      감사해요! 덕분에 아주 특별이 편안한 밤이 될것같아요 😄

  2. Favicon of https://happysinisini.tistory.com BlogIcon 앨리의 구고마 2020.04.13 22:06 신고

    코드는 항상 봐도 어려운것 같아요ㅎㅎ 구독하고 갑니다~~ 좋은밤 되세요 :)

    • Favicon of https://kecoz.tistory.com BlogIcon kecoz 2020.04.13 23:04 신고

      감사해요 앨리님 ㅎㅎ 이것도 인간이 만든 도구기에 앨리님도 마음만 먹고 도전하시면 금방 이해하실것같아요 ㅎㅎ

  3. Favicon of https://html6.tistory.com BlogIcon HTML6 2020.04.16 12:44 신고

    좋은 포스팅 감사합니다! 점심 맛있게 드세요^^!