ajax로 boolean 전달하기
본문
checkbox의 체크 상태에 따라 true 나 false를 php로 전송하는 코드를 짜고 싶습니다
제가 짠 코드는 다음과 같은데요
<script>
var checkbox = document.getElementById('agree');
$('#checkbox').click(function(){
$.ajax({
url:'./send_ajax.php',
type:'post',
dataType: 'json',
data:{
agree: checkbox.checked
},
});
})
</script>
문제는 php에서 $_POST['agree'] 값이 문자열 true 또는 false로 저장됩니다
ajax로 boolean값을 바로 보내는 방법이 있나요?
답변 4
없습니다.
받는 php 쪽에서 boolean 타입으로 가공해야 합니다.
ajax로 보낼때 0 또는 1로 보내면 될것 같습니다.
값이 저장될 것이라면 0 또는 1로 보내서 저정하고 디비에 저장된 값이 1이면 true 이고 아니면 false 로 하면 될 것입니다.
자바스크립트 내용도 수정을 하면 될것입니다.
send_ajax.php 파일에서 해당 부분을 가공하시면됩니다.
<script>
var checkbox = document.getElementById('agree');
$('#checkbox').click(function(){ ..
둘 중에 어느 것이 checkbox인지 모르겠네요.
$('#checkbox')가 원하시는 checkbox라면
agree: checkbox.checked
를
agree: this.checked
로 바꿔 보세요.