본문 바로가기
JavaScript

ajax post - controller return값

by Yeoseungwon 2024. 11. 7.
728x90

fn_coupon_reload() 메서드를 호출하고 싶은데 delBarcode.do 에서 404 오류가 떠서 호출이 안되고 있었음 .

 

 

function fn_delete_barcode(id){
		 $("#barcodeId").val(id);
		 if(confirm("해당 상품권을 삭제하시겠습니까?")){
			 $.post('<c:url value="/reservation/manage/delBarcode.do"/>', $("#frm").serialize())
			 .done(function(data) {
				    fn_coupon_reload()
				})
				.fail(function(jqXHR, textStatus, errorThrown) {
				    if (jqXHR.status === 404) {
				      console.error("오류 발생:", textStatus, errorThrown);
				    }
				});
		 }
	 }

 

@ResponseBody
	@RequestMapping("/delBarcode.do")
	public void deleteBarcode(@ModelAttribute("searchVO") ReserveDetailsManageVO vo, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
		logger.info("Call /reservation/manage/delBarcode.do");
		JSONObject json = new JSONObject();
		Map<String, Object> result = new HashMap<String, Object>();
		
		String resultCode = "";
		String message ="";

		try {
			// 로그인 정보
			LoginVO loginVO = getAuthInfo();
			if (loginVO != null) {
				logger.debug("quniqueId={}", loginVO.getUniqId());
				vo.setGroupCode(loginVO.getGroupCode());
				vo.setGroupId(loginVO.getGroupId());
				vo.setUniqId(loginVO.getUniqId());
				vo.setUserId(loginVO.getUserId());
				vo.setLoginNm(loginVO.getName());
			}

			if (!(userCheckRole("ROLE_MANAGER") || userCheckRole("ROLE_SYSTEM"))) {
				return;
			}

			// 겁색 조건 - 예약페이지
			if (!SF_StringUtil.isNullToString(vo.getSearchPageId()).equals("")) {
				vo.setPageId(vo.getSearchPageId());
			}
			
			logger.info("@result getBarcodeId :: {}",	vo.getBarcodeId());
			logger.info("@result orderId :: {}",	vo.getOrderId());
			
			boolean resultFlag = reserveDetailsManageService.deleteBarcode(vo);
			resultCode = "200";
		} catch (NullPointerException e) {
			// 2023-07 (SW 보안취약점 조치)
			logger.error(e.getMessage(), e);
			resultCode = "500";
		} finally {
			response.setContentType("text/html; charset=UTF-8");
	        PrintWriter out = null;
	        try {
	        	logger.info("result[{}]", json.toString());
	        	out = response.getWriter();
	        	out.print(json);
	        	out.flush();
	        } catch (NullPointerException e) {
				// 2023-07 (SW 보안취약점 조치)
				logger.error(e.getMessage(), e);
			} catch (Exception|Error e) {
	        	logger.error(e.getMessage(), e);
	        } finally {
	        	if(out != null) out.close();
	        }
		} 
		return;
	}

 

 

 

1.

@ResponseBody

붙여주기

 

 

2.

JSONObject json = new JSONObject();

Map<String, Object> result = new HashMap<String, Object>();

 

String resultCode = "";

String message ="";

 

리턴해줄 json과 resultCode, message 선언

 

3.

resultCode = "200";

성공 코드 지정.

 

catch (NullPointerException e) {

// 2023-07 (SW 보안취약점 조치)

logger.error(e.getMessage(), e);

resultCode = "500";

} finally {

response.setContentType("text/html; charset=UTF-8");

PrintWriter out = null;

try {

logger.info("result[{}]", json.toString());

out = response.getWriter();

out.print(json);

out.flush();

} catch (NullPointerException e) {

// 2023-07 (SW 보안취약점 조치)

logger.error(e.getMessage(), e);

} catch (Exception|Error e) {

logger.error(e.getMessage(), e);

} finally {

if(out != null) out.close();

}

}

return;

}

 

 

catch - finally 에서 리턴해줄 값 지정 

728x90

'JavaScript' 카테고리의 다른 글

[JavaScript] 팝업 날짜 지정  (0) 2024.02.22
[JavaScript] 팝업  (0) 2024.02.16
[JavaScript] 이미지 슬라이드 소스  (1) 2023.12.05
[Swiper] 라이브러리 포커스이동  (0) 2023.11.17
[JavaScript] onkeydown  (0) 2023.10.24