관리 메뉴

ふたりで

spring3 ajax request 404 not found 이상한 현상... 본문

javascript

spring3 ajax request 404 not found 이상한 현상...

graykang 2023. 8. 3. 16:22
728x90
반응형
SMALL

- spring3 환경

- springMVC

- war 배포

- sessioninterceptor를 사용 중

 

1. 위와 같은 환경에서 ajax요청을 아래와같이 했다.

- View

//권한 리스트 가져오기
    var params ={
        user_emp : $(this).data('useremp')
        ,user_code : $(this).data('usercode')
    };

    $.ajax({
        type : "POST",
        url : ctx + "/getUserAuthList",
        data : params,
        async: false,
        beforeSend : function(xhr){
            //ajax호출 중 처리
            //글로벌 변수로 설정한 csrf token 셋팅
            //xhr.setRequestHeader(header,token);
        },
        success : function(data) {
            //ajax호출 성공시 후처리 가져온 권한으로 checkBox 컨트롤
            for(var i=0; i < data.empAuthList.length; i++ ){
            //리스트 돌면서 데이터 셋팅
            }
        },
        error : function(request, status, error) {
            //ajax호출 실패시 후처리
            LayerPopup.alert("권한조회를 실패 하였습니다.",function(){$('.modal_bg').remove();});
        }
    });

- Controller

	/**
	 * @param request
	 * @param martCode
	 * @param empCode
	 * @param model
	 * @return
	 */
	@Menu("MM10")
	@RequestMapping(value = "getUserAuthList", method = RequestMethod.POST)
	@ResponseBody
	public JSONObject getUserAuthList(HttpServletRequest request,HttpSession session,
			@RequestParam("user_emp") int user_emp,
			@RequestParam("user_code") int user_code,
			Model model) {
		SessionBean bean = (SessionBean)session.getAttribute(SESSION_NAME);
		MPOSEmployeeAuthVO params = new MPOSEmployeeAuthVO();
		params.setUa_emp(user_emp);
		params.setUa_user(user_code);
		params.setUa_mart(bean.getMartSeqno());
		JSONObject jsonObj = mposService.getUserAuthList(params);

		return jsonObj;
	}

위와같은 상황에서 개발 환경은 ajax 호출이 정상 적으로 잘 처리되었으나

운영 환경에서는 404 not found에러가 발생했다.

망했다 이미 운영에 올렸는데 404가 떠버리니... 대략 난감했다. 

내가 세팅한 프로젝트가 아니다 보니 흠... 권한 문제인가? 흠... csrf문제? 아닌데... 어디부터 확인해야 할지 난감...

기존소스로 롤백을 하면 되긴 하지만 운영에서만 문제가 발생하는 상황이라 문제를 해결하려면

에러난 상황인 운영에서 빠르게 해결을 해야 한다고 판단...

음... 에러가 운영에서만 발생하는 걸로 봐서 환경 설정 문제일 것 같아 spring설정 servlet-context.xml 쪽을 확인해보았다.

역시나 해당 부분에 apach 연동 관련해서 json, xml 등등 API 서비스들 관련해서 utl path에 구분용 확장자를 넣어 주라는

주석이 눈에 띄었다.ㅎㅎ

결론은 url path종단이. json으로 끝나도록 수정을 하고 나니 정상 동작 하였다...

ajax 옵션에 url : ctx + "/getUserAuthList.json" .

controller에서 @RequestMapping(value = "getUserAuthList.json", method = RequestMethod.POST)

 

 
728x90
반응형
LIST
Comments