반응형
javascript로 ajax를 활용하여 값을 저장 불러올때 오류가 나는 경우, 아래와 같은 코드를 추가해주면 어디서 오류가 나는지 알 수 있다.
success: function(result) {
if (result) {
alert("완료");
} else {
alert("전송된 값 없음");
}
},
error: function() {
alert("에러 발생");
}
[적용예시]
$.ajax({
type:"POST",
url:"/shop/ajax_uploader.php",
data: {
it_id : it_id,
is_id : is_id
},
contentType: "application/json",
success: function(result) {
if (result) {
alert("완료");
} else {
alert("전송된 값 없음");
}
},
error: function() {
alert("에러 발생");
}
})
1. "에러발생" 결과값이 뜨는 경우
ajax로 로드되는 파일 (예시의 경우에는 /shop/ajax_uploader.php 파일) 자체가 오류일 확률이 높다. 이 경우에는 ajax url (http://도메인.com/shop/ajax_uploader.php) 에 직접 접속해보면 거의 500에러로 뜨는 경우가 많다. 파일 자체의 오류이니 어디 오타가 없는지, 코드에 이상은 없는지 점검해봐야한다.
[방법1] ajax로 불러오는 파일의 경로 확인
=> 파일 경로가 너무 깊숙히 있으면 안된다. 왠만하면 최상단이나 상위폴더 1~2개정도 내에 있는 곳에 파일이 위치하는 것이 좋다.
$.ajax({
type: "POST",
url: "/shop/ajax_uploader.php",
//url: shop_skin_url+"/multi/ajax_uploader.php", // 파일 경로가 너무 복잡함
data:{
"it_id": it_id,
"is_id": is_id
},
dataType: "json",
cache: false,
success: function(data){
console.log(data);
}
})
[방법2] PHP 파일 상단 DB와 연결되는 부분 경로가 맞는지 확인해보기
=> 쿼리문에 문제가 생기는 경우 상단 절대경로 체크 후, DB와 연결이 잘 되는지 확인해 봐야함.
<?php
include_once('./_common.php');
$it_id = $_POST['it_id'];
$is_id = $_POST['is_id'];
//(중간생략)
echo json_encode($response);
?>
2. "전송된 값이 없음" 뜨는 경우
전송된 값이 없음으로 뜨는 경우는 ajax 파일 처리 후 원래 파일로 제대로 결과 값이 제대로 넘어오지 않아 발생하는 경우이다.
=> ajax 스크립트에서 dataType: "json" 나 contentType: "application/json" 가 있다면 삭제하면 정상 작동된다. (왜인지는 잘 모르겠다...)
반응형
'개발 > js·jquery' 카테고리의 다른 글
[jQuery] Owl Carousel 여백 없애기 (2) | 2022.02.28 |
---|---|
ajax 순서대로 여러번 사용하기 (Promise, then) (2) | 2022.02.17 |
[jQuery] 반응형 bxSlider (2) | 2021.12.23 |
onclick 현재창/새창/팝업창 페이지 이동 (2) | 2021.12.22 |
[jQuery] jquery ui를 이용한 tooltip 커스터마이징 (툴팁 배경색, 글자색 변경) (2) | 2021.04.16 |
[jQuery] 스크롤 따라다니는 퀵메뉴 만들기 (2) | 2021.04.15 |
[jquery] attr()을 활용하여 속성 변경하기 (2) | 2021.03.31 |
[jQuery] 일정 시간이 지나면 자동으로 넘어가는 탭 (2) | 2020.12.15 |