본문 바로가기

JavaScript

[에러해결] Uncaught TypeError: $.ajax is not a function

 

jQuery를 이용하여 웹페이지를 만들던 중, 알림창(alert)을 띄우지 못하는 문제가 생겨서 개발자 도구에서 확인해보았다.

 

 

 

Uncaught TypeError: $.ajax is not a function 에러가 발생한것을 확인하였다.

 

 

에러 발생 원인은, 부트스트랩 cdn을 가져올때 jquery 부분에서 slim 버전으로 가져왔기 때문에 발생한 에러였다.

 

<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>

 

 

[원인]

 

jQuery 라이브러리 cdn을 선언해주었는데 여기서 .slim이 잘못된 부분이다.

jquery slim버전을 사용할 경우 ajax를 지원하지 않기 때문이다.

 

그래서 .slim을 빼주어야 하고, 또 한가지 제거해야 하는게 바로 integrity속성이다. 

여기서 사용한 integrity 속성은 해당 slim버전을 위한 값이기 때문에 slim버전이 아닌 jquery.min.js에 대한 속성값으로 바꿔주거나 삭제를 해야한다. 

 

 

 

 

[해결 방법]

 

cdn에서 slim과, integrity 속성을 삭제하여 선언하면 정상적으로 ajax를 쓸 수 있다.

 

<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js" crossorigin="anonymous"></script>