ajax 문법이 틀렸나요 ㅠㅠ?

ajax 문법이 틀렸나요 ㅠㅠ?

QA

ajax 문법이 틀렸나요 ㅠㅠ?

본문

지금 500에러가 떠서 뭔지 잘모르겠어요 ㅠㅠ 혹시 문법이 오류가 났는지요..ㅠ?

 

스크립트문


        $.ajax({
            url : g5_url + "/admin/ajax/ajax_page.php?mode=UPDATE",
            type : "POST",
            data : { idx : <?=$page_idx;?> },
            dataType : "json",
            success : function(result) {
                // console.log(result);
            },
            error : function(e) {
                // console.log(e);
            }
        });
    }, 10 * 1000);

 

ajax파일


$mode = $_GET["mode"];
switch($mode) {
    case "UPDATE": {
        $json_data = array();
        $idx = $_POST["idx"];
        
        $q = "UPDATE `${tbl_page_log}` SET `resttime`=`resttime`+3 WHERE `idx`='${idx}'";
        $json_data["query"] = $q;
        $r = sql_query($q);
        $json_data["error"] = mysql_error();
        $json_data["result"] = "SUCCESS";
        
        echo json_encode($json_data);
    }
    break;
}

 

서버환경:  (PHP7.0, mariadb-10.0.x)

이 질문에 댓글 쓰기 :

답변 4



$mode = $_GET["mode"];
switch($mode) {
    case "UPDATE": 
        $json_data = array();
        $idx = $_POST["idx"];
        
        $q = "UPDATE `${tbl_page_log}` SET `resttime`=`resttime`+3 WHERE `idx`='${idx}'";
        $json_data["query"] = $q;
        $r = sql_query($q);
        $json_data["error"] = mysql_error();
        $json_data["result"] = "SUCCESS";
        
        echo json_encode($json_data);
        break;
}

 

case쪽  { } 빼보세요.

 

그리고, 서버설정에 따라 다른데

요즘 디폴트는 

<?php echo $page_idx;?>

로 하셔야할듯하구요.

        $.ajax({
            url : g5_url + "/admin/ajax/ajax_page.php?mode=UPDATE",
            type : "POST",
            data : { idx : "<?=$page_idx;?>" },          // ""때문이지 않을까 싶네요!
            dataType : "json",
            success : function(result) {
                // console.log(result);
            },
            error : function(e) {
                // console.log(e);
            }
        });
    }, 10 * 1000);

딱히 문제되는게 보이지는 않는데, post로 보낸 php파일의 sql문을 한번 찍어서 확인 해보세요.

 

$q "UPDATE `${tbl_page_log}` SET `resttime`=`resttime`+3 WHERE `idx`='${idx}'"; 이 부분을

$q "UPDATE `${tbl_page_log}` SET resttime=resttime+3 WHERE `idx`='${idx}'"; 이렇게 바꿔보세요

 

숫자를 더하는데 문자열로 해놓는다는게 살짝 의심이 되기는 하네요

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,499
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT