ajax 문법이 틀렸나요 ㅠㅠ?

ajax 문법이 틀렸나요 ㅠㅠ?

QA

ajax 문법이 틀렸나요 ㅠㅠ?

답변 4

본문

지금 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}'"; 이렇게 바꿔보세요

 

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

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,622
© SIRSOFT
현재 페이지 제일 처음으로