- Today
- Total
개발하는 고라니
Uncaught TypeError: $.ajax is not a function 본문
교재를 보며 ajax로 파일 업로드를 테스트하는데...
$("input[name='aaa']") 이런 $ 를 사용하는 것은 다 되는데
$.ajax에만 오류가 발생하였다.
<script src="https://code.jquery.com/jquery-3.5.1.slim.js" integrity="sha256-DrT5NfxfbHvMHux31Lkhxg42LY6of8TaYyK50jnxRnM=" crossorigin="anonymous"></script>
물론 Jquery CDN을 추가하였다. 근데도 왜 이러지 구글링해보다가 <script> 속성에 type="text/javascript" 도 줘보았으나 역시 그대로였다.
CDN이 문제였다. 제이쿼리 cdn은 몇 가지의 버전을 지원하는데 자원을 아끼자고 "slim"버전을 가져온 것이다.
"slim"은 Ajax를 지원하지 않는다...
그래서 CDN에서 .slim 부분을 슬쩍 지웠다.
<script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-DrT5NfxfbHvMHux31Lkhxg42LY6of8TaYyK50jnxRnM=" crossorigin="anonymous"></script>
근데도 여전히 오류가 발생했다. 여기저기 소스코드를 들춰내며 대체 뭐가 문제인가 하고 마지막 즈음 브라우저의 소스를 봤는데 여전히 slim 버전 cdn을 가져오는 것이었다.
?????????????????????????????????????????????????????????? 난 분명히 바꿨는데?
아차 싶었다... 이클립스에서는 view 페이지가 변경되면 서버를 재시작하지 않아도 자동으로 반영해주지만,
IntellJ는 추가적으로 설정을 해줘야 한다.
망치 아이콘 옆에 목록을 누르면 여러 실행할 수 있는 클래스가 주르륵 나오는데 다 필요없고 'Edit Configurations.'를 클릭한다.
요 부분을 포함하는 설정 창이 하나 뜨는데, 위 부분에서 On 'Update' action과 On frame deactivation 부분의 디폴트 값으로 "Do nothing"으로 체크되어있을 것이다. 이를 위와 같이 변경해주면 서버를 재시작하지 않아도 뷰 페이지 변경이 있을 시 바로바로 적용해준다.
'오늘의 삽질' 카테고리의 다른 글
Javascript Arrow Function at IE (0) | 2021.04.04 |
---|