Access Denide 에러

류경호 ㅣ 2023. 9. 13. 22:03

 

결론먼저..  Access Denide 에러가 생긴다면 토큰을 넘겨주어서 권한을 주면된다!

 

ajax로 장바구니에 필요한 데이터를 보내고 있었다.

데이터는 넘어오는데 컨트롤러는 작동을 안해서 개발자도구 네트워크창을 보았다.

 

Access 에러페이지가 떠서 알아보니 토큰정보를 안넘겨 줘서 권한이 없어서 그런거였다.

ajax에    =>  beforeSend: function(xhr) { xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");

부분을 추가해주었더니 해결되었다.

const form = {
		user_id : '${user_id}',
		gds_num : '${goods.gds_num}',
		gds_count : ''
	}

	$('#addToCart').on('click', function() {

		form.gds_count = parseInt($('#quantity').text()); // 현재 수량값을 가져와서 정수로 변환하여 form에 저장
		//서버로 전송할 데이터
		$.ajax({
			url : '/cart/add',
			type : 'POST',
			data : form,
			beforeSend: function(xhr) {
		        xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}"); //토큰 넘겨주기!
			},
			success: function(result) {
				if(result == '0'){
					alert("장바구니에 추가를 하지 못하였습니다.");
				} else if(result == '1'){
					alert("장바구니에 추가되었습니다.");
				} else if(result == '2'){
					alert("장바구니에 이미 추가되어져 있습니다.");
				} else if(result == '5'){
					alert("로그인이 필요합니다.");	
				}
			}
		});