Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- jdbc
- CRUD
- spring
- mybatis
- 게시판 List
- 환경설정
- MVC설정
- Connection pool
- MVC
- service
- 게시판
- Oracle
- Oracle 연결
- MVC CRUD
- log4jdbc
- hikaricp
- log4j
- MVC 게시판
- update
- Controller
- 게시판만들기
- delete
- 서비스계층
Archives
- Today
- Total
yahayaha
Uncaught ReferenceError: ~~~~ is not defined 본문
ajax 사용해서 첨부파일을 삭제하는 작업을 하고있는데 오류가 떳다.
지금 내가 작업하는 기준으로 targetFile 변수가 정의되지 않았다는 것을 알려주고 있는데
이런 오류가 왜 나타나냐면
1. 변수를 참조하는 코드가 해당 변수를 정의한 코드 범위 내에서 실행이 안되거나
2. 변수가 정의되지 않은 상태에서 참조하고 있기 때문.
인데 내가 해당되는건 1번이엇다.
보통 이런 오류는 변수의 스코프 문제로 발생하는데 이를 해결하려면 변수가 정의된 범위 내에서 참조를 해야함.
이벤트 핸들러 함수 내에서 정의된 변수는 해당 함수 내에서만 유효해서 외부에서는 참조할 수 없기때문.
오류가 났던 코드는
$(".uploadResult").on("click", "button", function(e){
console.log("삭제함.");
var targetFile = $(this).data("file");
var type = $(this).data("type");
var targetLi = $(this).closest("li");
}); // 삭제 이벤트 끝
// 첨부파일 삭제 ajax
$.ajax({
url: '/deleteFile',
data: {fileName: targetFile, type: type},
dataType: 'text',
type: 'POST',
success: function(result){
alert(result);
targetLi.remove()
}
}); //$.ajax
이런식으로 이벤트 핸들러 함수 밖에 있기때문에 오류가 났던것.
이걸 수정하면.
$(".uploadResult").on("click", "button", function(e){
console.log("삭제함.");
var targetFile = $(this).data("file");
var type = $(this).data("type");
var targetLi = $(this).closest("li");
// 첨부파일 삭제 ajax
$.ajax({
url: '/deleteFile',
data: {fileName: targetFile, type: type},
dataType: 'text',
type: 'POST',
success: function(result){
alert(result);
targetLi.remove()
}
}); //$.ajax
}); // 삭제 이벤트 끝
안쪽에 넣어주면 해결이 됨.
자바스크립트를 공부하면서 기본 개념을 한번 씩 더 잡아야 할 거 같다.
'오류 해결 노트' 카테고리의 다른 글
EDGE와 크롬 한글 파일 다운로드 오류?는 아니고 주저리주저리. (0) | 2024.02.20 |
---|---|
log4j2 라이브러리 오류 해결 (1) | 2024.02.12 |
Error Message = ORA-00911: invalid character 문제 해결 (0) | 2024.02.12 |
Error creating document instance 오류 해결 (0) | 2024.02.12 |
[JSP/spring/JS] JS 소스를 아무리 수정해도 반영이 안되는 문제해결 (0) | 2024.02.12 |