2026, 새로운 도약을 시작합니다.

현재 위치를 변수 또는 세션으로 처리하는 방법이 있을까요? 채택완료

4년 전 조회 4,432

안녕하세요.

geolocation에서 현제 위치 위도 경도의 값을 변수 또는 세션으로 처리할수 있을까요?

<script>
$(document).ready(function(){    
    navigator.geolocation.getCurrentPosition(function(pos) {
        val lat = pos.coords.latitude;
        val lon= pos.coords.longitude;

        //alert("현재 위치는 : " + position.coords.latitude + ", "+ position.coords.longitude);
        $.ajax({
            type:'POST',
            url:'myxy.php',
            data:'lat='+lat+'&lon='+lon
        });
    });
});    
</script>


myxy.php 

<?php 

if(!empty($_POST['lat']) && !empty($_POST['lon'])){    
    $lat = $_POST['lat'];
    $lng = $_POST['lon'];

?>


<?php echo $_GET['lat']; ?>

이렇게 했지만 값이 안나오는걸봐서는 처리가 안되는거 같습니다

알림창에서 허용을 하면 좌표는 잘 받아옵니다..
 

조언 좀 부탁드립니다.

감사합니다!.

답변 3개

채택된 답변
+20 포인트

myxy.php 파일만 가지고 테스트를 하시려면 

postman 같은 툴로 post method request 해야 echo 문이 보일 거구요 

ajax 통신 후 success 콜백으로 콘솔에 찍으셔야 

        $.ajax({
            type:'POST',
            url:'myxy.php',
            data:'lat='+lat+'&lon='+lon,

            success: function(data) {

              console.log(data);

              // something to do...

            },

            error: function(xhr, status, error) {

              console.log(xhr, status, error); // 문제점을 찾으려면 error 도 출력해보세요

            });

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해결하셨어요? 소스코드 올려주시면 안될까요? 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

post로 보냈는데 echo에선 get으로 찍고있네요

변수에 담으셨으니 echo $lat로 찍어보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

어..오타가 났네요..echo $lat으로 해도 안되네요..ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고