78일: 장바구니 물건 담기, 주소 팝업창, 배송지 출력

Jiwontwopunch·2022년 3월 8일
0

국비기록

목록 보기
78/121
post-thumbnail

2022.03.08.Tue.

✍ 복습

구매정보는 서버쪽에 저장, 배송지를 추가해서 서버로 넘겨준다.
console창에 -버튼을 계속 누르면 1이 계속 찍힌다.
$('#price span')과 동일한 코드지만 선택자를 변수로 잡을 수 있다.

id선택자 없이 접근할 때

+ - 버튼 클릭시 수량과 총 금액 변경

read.html

이렇게 사용하면 되는데 주의해야 될 점을 조금 알아보자면..plus()함수는 $('#plus')버튼을 클릭하면 실행된다. 그래서 함수가 실행될 때의 this는 $('#plus')
따라서 $(this).prev()라고 하면 $('#count_of_product')가 된다.
화살표 함수의 경우 한 번 만들어진 this는 변경되지 않는다. 즉 계속 $('#plus')
자바스크립트 메소드 내부의 this는 자신이 속한 객체이므로 상황에 따라서 바뀐다. susscess아래의 this라고 하면 $.ajax객체이다. 화살표 함수는 메소드로 사용하면 안된다. this를 찍으면 window나온다.. 위에처럼 사용하면 안된다...

✔ 에러..
해결..

ProductRestController.java


결과값이 없다는 Void..

ProductService.java

구매하기 버튼 누르기

read.html

OrderController.java

Order.java

OrderItem.java

DeliveryStatus.java

OrderDto.java

new_address.html

view.html

OrderController.java에서 PostMapping을 테스트할 동안만? GetMapping으로 수정,, 나중에 다시 PostMapping으로 바꿔줄 것!

HTML을 그냥 실행하려면(controller를 거치지 않는다) static 폴더에 넣어줘야 한다.
하지만 해결책은 아니다. 스프링에서 모든 시작(작업)은 controller이기때문에.. MVC방식이니까.........이게 싫으면 REST방식써.......

OrderController.java

주소 팝업창

view.html

new_address.html

$.ajax() 추가..
그리고 닉네임이 누락되거나 중복되면 오류처리 해줘야함. 이건 알아서 처리하기..

DB 추가(Board.txt)

create table orders (
	orderNo number(7),
	username varchar2(10 char),
	deliveryStatus varchar2(10 char),
	orderday date,
	totalPrice number(7),
	addressNo number(7),
	constraint order_pk_orderNo primary key(orderNo)
);


create table order_item (
	orderNo number(7),
	pno number(7),
	vendor varchar2(10 char),
	name varchar2(10 char),
	price number(7),
	count number(7),
	orderItemPrice number(7),
	constraint order_item_pk primary key(orderNo, pno)
);

create sequence order_seq;

create table cart_item (
	username varchar2(10 char),
	pno number(7),
	count number(7),
	constraint cart_item_pk_orderNo primary key(username, pno)
);

create table address (
	username varchar2(10 char),
	addressNo number(7),
	nickname varchar2(10 char),
	zipcode varchar2(10 char),
	address1 varchar2(50 char),
	address2 varchar2(50 char),
	isDefault number(1),
	constraint address_pk_orderNo primary key(username, addressNo)
);
create sequence address_seq;

AddressRestController.java

값이 넘어오는지 sysout으로 확인,,

AddressService.java

AddressDao.java

view.html

결제 버튼은 비활성화하고 코드 추가,,sqlplus에서
update address set isDefault=1 where addressNo=25;
commit;까지 해주기! +기본배송지 지정 기능을 만들어야 한다. 이건 알아서 만들기...

0개의 댓글