Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Developer N

[jQuery] Ajax() 사용 시 요청처리가 완료되었는데도 404 에러가 발생한 경우 본문

STUDY/JSP | JS

[jQuery] Ajax() 사용 시 요청처리가 완료되었는데도 404 에러가 발생한 경우

nnh 2023. 4. 10. 11:57
728x90

 

 

$.ajax( {
        type: "POST",
        url: "/test/testUrl",
        data: JSON.stringify(params),
        contentType: 'application/json',
        cache: false,
        dataType: 'json',
        success: function(data) {
            console.log('성공');
        },
        error: function(jqXHR, status, error) {
            alert('에러');
        }
    });

 

 

jQuery의 ajax 메서드를 사용할 때 요청은 정상적으로 처리되었으나 계속해서 404 에러가 났다.

찾아보니 컨트롤러가 Ajax 요청을 받아 처리는 했으나, 다시 돌려주는 값이 없어서 발생하는 에러였다.

즉, 요청은 했는데 응답이 없으니 응답이 없다는 결과가 나온 것이었다.

 

그런데 나같은 경우는 컨트롤러에서 return 객체를 던져준 상황이었다.

 

좀더 찾아보니 Response 객체에 응답값을 설정해주면 404 에러가 발생하지 않지만, 이때 데이터 타입은 ajax() 옵션 중 dataType과 일치해야 한다.

 

나는 dataType을 json으로 설정했는데, 스프링에서는 @ResponseBody 어노테이션을 추가하면 알아서 json 또는 xml 등과 같은 형식으로 변환해준다.

따라서 @ResponseBody 어노테이션만 추가해주면 무사히 응답값을 받을 수 있다.

 

 

@RequestMapping("/testUrl")
@ResponseBody
public TestResDto test(@RequestBody TestReqDto reqDto, Model model) throws Exception {

    TestResDto result = testService.test(reqDto);

    return result;
}

 

 

 

참고)

https://javafactory.tistory.com/713

https://wildeveloperetrain.tistory.com/144

728x90
Comments