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}'"
; 이렇게 바꿔보세요
숫자를 더하는데 문자열로 해놓는다는게 살짝 의심이 되기는 하네요
브라우저 개발자 도구/ 네트워크에 보시면 ajax 결과 확인 가능합니다. 서버가 오류메세지를 반환해도 보입니다.
답변을 작성하시기 전에 로그인 해주세요.