Uncaught TypeError 가 발생하는데 원인이 뭘까요? 채택완료
해당 버튼클릭시 크롬개발자콘솔에 나타는 에러 입니다
회원정보에 포인트를 가져오는 부분입니다
Uncaught TypeError: Cannot read properties of null (reading 'point')
at Object.success (36393?page=10:2629:24)
at i (jquery-1.12.4.min.js?ver=20200819:2:27449)
at Object.fireWith [as resolveWith] (jquery-1.12.4.min.js?ver=20200819:2:28213)
at y (jquery-1.12.4.min.js?ver=20200819:4:22721)
at XMLHttpRequest.c (jquery-1.12.4.min.js?ver=20200819:4:26925)
에러가 발생하는 코드
if($is_memeber) {
echo json_encode(array('point' => intval($member['mb_point'])), JSON_UNESCAPED_UNICODE);
}
?>
var reqPointMap = ;
$(".register-premium").click(function() {
$.ajax("/api/get_point.php", {
dataType: 'json',
success: function(res) {
const checkVal = $("input[name=wr_4]:checked").val();
const reqPoint = reqPointMap[checkVal];
if(res.point reqPoint) {
const r = confirm("현재 포인트가 부족합니다.");
if(r) {
window.open('point_page');
}
} else {
var r = confirm(reqPoint+"포인트를 사용하여 하시겠습니까?");
if(r) {
$.post("/api/register_premium.php", {wr_4: checkVal, wr_id: }, function(res) {
if(res.success) window.location.reload();
else {
alert(res.errMsg);
}
}, 'json');
}
}
}
});
return false;
});
답변 3개
다음처럼 실행해보는 방법도 있을것 같습니다.
또는 오타는 없는지 확인 해보는것도 좋을것 같습니다.
// if($is_memeber) {
if($is_member) {
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
success: function(res) {
// 이 사이에 console.log( res) 해서 무엇이 나오는지 확인해 보세요.
const checkVal = $("input[name=wr_4]:checked").val();
답변에 대한 댓글 4개
이 코드가 문제라는 건가요? 그런데 원래 이 코드는 정상 작동했었어요.
언제부터인가 갑자기 에러가 발생하더라구요. php 버전에 따라서 뭔가 설정이 변경이 된건지 모르겠네요.
ajax로 받은 것이 JSON 형식인지 확인해 보세요.
Warning 메시지라도 있으면 문제가 되니까요
댓글을 작성하려면 로그인이 필요합니다.
var reqPointMap = ;
이 변수를
var reqPointMap = "";
로 수정해보시겠어요?
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인