인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Ajax request url 에러

작성

·

44

·

수정됨

0

My페이지를 개발하고 있습니다 (세션있음 id, 가입일 등등)

Delete 쿼리만 ajax로 요청한 url이 콘솔창로 보면 제가 넣지않은 uri가 추가되어 나오고 404에러가 뜨는데 어떡하나요

eclipse에서는 403에러로 뜹니다

분명 컨트롤러 Postmapping 어노테이션 url과 전혀 다른게 없었습니다

Delete 쿼리만 안되네요

아니면 f12에서 원인 찾는법 알려주시면 감사하겠습니다

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 석석석님.

Ajax 요청에 대한 404 및 403 에러 문제는 종종 URL 매핑 오류나 권한 문제로 인해 발생할 수 있습니다. 아래의 몇 가지 단계를 따라 문제를 해결할 수 있는 방법을 설명해 드리겠습니다.

  1. URL 확인: Ajax에서 요청하는 URL과 Controller의 @PostMapping의 URL이 정확히 일치하는지 다시 한 번 확인하세요. 특히 URL 경로나 파라미터가 올바른지 점검해 보세요.

  2. Ajax 요청 방식 확인: Ajax 요청이 서버에 맞는 HTTP 메소드(예: POST, DELETE)로 설정되어 있는지 확인하세요. 만약 컨트롤러가 POST를 사용하는데, Ajax에서 GET으로 요청하고 있다면 문제를 유발할 수 있습니다.

  3. 403 Forbidden 에러: 이는 종종 CSRF 토큰 문제로 인해 발생할 수 있습니다. Spring Security가 적용되어 있다면, Ajax 요청에 CSRF 토큰을 포함시켜야 합니다. CSRF 토큰이 HTML의 meta 태그나 form에 존재하고 있는지 확인하세요.

  4. F12 콘솔에서 오류 확인: 개발자 도구(F12)를 열고 ‘네트워크’ 탭을 통해 Ajax 요청을 모니터링하세요. 요청 URL, 상태 코드, 응답 메시지 등을 통해 오류의 원인을 파악할 수 있습니다.

이 외에도 컨트롤러 메소드에 로그를 추가하여 해당 메소드가 호출되는지를 확인하는 것도 방법입니다.

관련된 게시물을 통해 더 자세한 내용을 참고하실 수 있습니다:
- JavaScript의 submit에서 controller 호출이 안되고 403 에러가 나요: 이 질문에서는 스프링 시큐리티와 CSRF 이슈로 인해 발생하는 403 에러에 대한 원인과 해결을 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기