이전 목록 다음
채택완료

ajax 데이터 전달에 관한 문의

2023-03-13 (월) 15:00:18 2,411
Copy
//t.php

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>
  A_id = 1;
  B_id = 2;
  B_nick = 'test';
  pid = 123;
              $.ajax({
                url: "tAjax.php",
                type: "post",
                async:false,
                data : ({ act: "test", A_id:A_id, B_id:B_id, B_nick:B_nick, pid:pid }), 
                success: function (data) {
                        console.log('ajax msg: ' + data);
                      }
            })
  </script>
Copy
//tAjax.php


// 변수 정리
$act = $_POST['act'];

// test
    if ($act =='test') {
        echo '??? : ' . $A_id . ' B: '. $B_id . ' PID: ' . $pid . ' B_nick: ' . $B_nick .'???'; 
    }

?>

위 두 파일을 만든후 실행해보면

??? : 1 B: 2 PID: 123 B_nick: test??? 

결과값이 정상적으로 나옵니다. 

결과값이 undefined 로 나와야 하는거 아닌가요?

저절로 A_id 같은 인수명을 $A_id 같은 변수명으로 사용하나요?????

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

$_POST['A_id'] 식으로 값이 넘어오지만 

php.ini register_globals 값이 on으로 돼 있거나 

@extract($_GET);
@extract($_POST);
@extract($_SERVER);

php extract 함수를 통해서 그냥 사용할수 있게됩니다. 

참고로 그누보드에서는 변수를 그냥 쓸수 있게

common.php 파일에서 위에 처럼 extract 처리를 해주고 있습니다. 

답변에 대한 댓글 1개

2023-03-13 (월) 15:46:17
아. 그렇군요!! 답변감사합니다.
그래도 혹시 모르니 $A_id = $_POST['A_id']; 해주는게 맞겠죠?

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