2026, 새로운 도약을 시작합니다.

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)

에러가 발생하는 코드

Copy


if($is_memeber) {

    echo json_encode(array('point' => intval($member['mb_point'])), JSON_UNESCAPED_UNICODE);

}

?>
Copy


 

    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개

채택된 답변
+20 포인트

다음처럼 실행해보는 방법도 있을것 같습니다.

Copy

또는 오타는 없는지 확인 해보는것도 좋을것 같습니다.

Copy


// if($is_memeber) {

if($is_member) {

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

위에 코드를 적용하니 작동이 되네요. 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

            success: function(res) {
// 이 사이에 console.log( res) 해서 무엇이 나오는지 확인해 보세요.
                const checkVal = $("input[name=wr_4]:checked").val();
로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

console.log(res) 값이 null 로 나오네요. 변수 설정 문제일까요?
/api/get_point.php 동작확인부터 해 보셔야 할 듯합니다.
echo json_encode(array('point' => intval($member['mb_point'])), JSON_UNESCAPED_UNICODE);

이 코드가 문제라는 건가요? 그런데 원래 이 코드는 정상 작동했었어요.
언제부터인가 갑자기 에러가 발생하더라구요. php 버전에 따라서 뭔가 설정이 변경이 된건지 모르겠네요.
크롬 등의 개발자 툴에서
ajax로 받은 것이 JSON 형식인지 확인해 보세요.
Warning 메시지라도 있으면 문제가 되니까요

댓글을 작성하려면 로그인이 필요합니다.

Copy



 var reqPointMap = ;

이 변수를

Copy



 var reqPointMap = "";

로 수정해보시겠어요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

댓글 감사하지만 역시 작동이 안되네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고