자바스크립트 변수를 PHP변수로 바꾸고 싶어요
본문
infoDiv0라는 값을
PHP변수로 변환하고 싶습니다.
찾아보니 ajax를 이용하면 된다고 하는데
ajax를 잘몰라서...
// 지도 좌측상단에 지도 중심좌표에 대한 주소정보를 표출하는 함수입니다
function displayCenterInfo(result, status) {
if (status === kakao.maps.services.Status.OK) {
var infoDiv0 = document.getElementById('centerAddr0');
for(var i = 0; i < result.length; i++) {
// 행정동의 region_type 값은 'H' 이므로
if (result[i].region_type === 'H') {
infoDiv0 = result[i].region_1depth_name + " " + result[i].region_2depth_name;
break;
}
}
}
}
</script>
<?
$infoD = "<script>document.write(infoDiv0);</script>";
echo $infoD;
답변 2
'success': function(data) {
if (data.status == 200) {
$('#centerAddr0').val(); /// 또는
$('#centerAddr0').text(); //// 또는
$('#centerAddr0').html(); //// 등 원하는 것으로 변경 가능 할 것입니다.
modal.style.display = 'none';
modal.classList.toggle('show');
return false;
} else {
modal.style.display = 'none';
modal.classList.toggle('show');
return false;
}
}
ajax 를 활용한다면 위와 같이 성공 했을 때 원하는 형태로 변경하면 될 것입니다.
!-->
시점이 다른걸 이해하셔야 해요
1. PHP파일은 server에서 실행되서 PHP코드를 제외한 html,css,javascript를
브라우저로 전송합니다.
2. 브라우저에서 html, css, javascript를 파싱해서,
태그를 적절한위치의 내용으로 치환
css를 태그에 적용가능하게 메모리에 저장
javascript를 실행가능한 상태로 준비
3. 위의 함수와 같이 javascript로 값을 추출해서
PHP에서 사용하려면
4. 추출한 변수값을 PHP파일로 전송(request)해야 합니다.
그러면 기본적으로는 동기방식으로 (get , post)로 페이지전환이 발생하는데
이걸 없애고 화면전화없이 서버에 전달하는게
Ajax 등의 방법입니다.
5. 어찌전송하건 서버에서 PHP로 전달받은 변수를 받아야
위와같이
$info 에 담을수있는것이지만
여기서 필요한건
(1) 전달할 방법 (보통은 ajax방식) _ 검색을 jquery ajax전송을 찾으세요
(2) 수신할 페이지 (동일 페이지에서 구현할수는 없고, 다른 페이지에서 처리후 다시금 화면으로 전송
(3) 처리된 결과를 받아서 @설국열차 님의 답변과 같이 처리하는게 필요합니다.
답변을 작성하시기 전에 로그인 해주세요.