admin page 에서 ajax 호출문제
본문
admin 으로는 되는데.. 다른 계정을 관리자권한 레벨10 주면 ajax 데이터가 안가지고 오네요
아래 부분 때문인건가 싶기도 하고... 고수님들 도움주세요
////////////// 해당소스
<script>
$(document).ready(function () {
$("#hold_store<?=$i?>").keyup(function() {
var keyword = $(this).val();
if(!keyword){
$("#display<?=$i?>").hide();
}else{
$("#display<?=$i?>").css("display",'block');
$.post("./auto_place.php", {
keyword: keyword,
i:<?=$i?>
}, function(data){
$("#display<?=$i?>").html(data).show();
});
}
});
});
/////////////////////
$(function() {
$(document).on("click", "form input:submit", function() {
var f = this.form;
var token = get_ajax_token();
if(!token) {
alert("토큰 정보가 올바르지 않습니다.");
return false;
}
var $f = $(f);
if(typeof f.token === "undefined")
$f.prepend('<input type="hidden" name="token" value="">');
$f.find("input[name=token]").val(token);
return true;
});
});
답변 2
ajax 처리시 디버깅을 하는 방법중의 하나는, ajax 로 처리되는 URL 을 브라우저에서 직접 입력해보는 것입니다.
"./auto_place.php" 로 post 방식으로 ajax 처리를 하고 있는데..
브라우저 주소창에서, ~/auto_place.php?keyword=~&i=~ 식으로 적당한 값을 임의로 넣어준 후,
auto_place.php 에서는 keyword 와 i 값을 제대로 받아오는지.. 어떻게 처리가 되고 있는지를 확인해 볼 수 있습니다.
auto_place.php 에서 $_POST['keyword'] 와 같이 사용되고 있다면, 임시 테스트를 위해 그부분만
$_REQUEST['keyword'] 와 잠시 변경해준 뒤 검토해보면 됩니다.
혹시, auto_place.php 파일 안에 admin 이어야만 되는 코딩이 들어 있지는 않은지요?
auto_place.php 파일을 admin 과 다른 계정으로 각각 브라우저에서 한번 열어 보세요.