이전 목록 다음
채택완료

아작스에서 호출 할 경우 include_once()사용

2023-04-06 (목) 18:21:49 2,739
Copy
//A.php

        $.ajax({
            url: "step.php",
            type: "post",
            async:false,
            data : ({ act: "test", str: str }),
            success: function (data) {
                if ( data == "포인트부족" ) {
                    alert( "담보금이 부족합니다." );
                } else {
                      pay= data;
                }
                      console.log( " pay: " + pay);
            }
        })

 

// step.php

include_once('./config.php'); 
if ($act =='test') {

   $pay = $_POST['str'];

  .... 내용 ...

   echo $str;

}

대충 위같은 코드가 있을경우

설정값을 config.php 로 넣고 불러다 쓰고있는데

아작스로 불러오는 곳에다 include_once('./config.php');  를 썻더니 이상한? 동작이 발생하더라구요 console.log( " pay: " + pay); 값이 두줄로 찍이더군요.

config.php의 값을 본문에 넣으면 괜찮은데 include_once()로 불러오면 동작이 이상해집니다.

값은 가져오는데 이상하게 눈에 보이지 않는 줄바꿈? 같은게 포함되는거 같던데..

아작스로 불러오는곳에 include_once()함수가 있으면 문제가 생기나요?

include_once()함수내에 아무 내용이 없어도 같은 증상인거보면 ....

혹시 include_once()가 문제를 발생시킨다면..  어떻게 처리하시나요..

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
2023-04-06 (목) 18:42:11

아작스로 불러오는곳에 include_once() 함수가 있어서 문제가 생기거나 하지는 않습니다.

include_once()는 문제를 발생시키지 않습니다.

"눈에 보이지 않는 줄바꿈?" 같은게 포함된다면,

config.php 또는 step.php 어딘가에 줄바꿈 출력이 있어서 그렇습니다.

답변에 대한 댓글 2개

2023-04-06 (목) 19:04:49
config.php를 공백으로 하고
include_once('./config.php'); 를 넣으면
콘솔에 값이
1:
2: 123
이렇게 나오고요

//include_once('./config.php'); 를 주석처리 하면
1: 123
이렇게 나옵니다.

그 영향인지 전체적으로 문제가 발생해버려요.
예를 들면 1+$pay 하면
include_once('./config.php'); 를 반영하면 값이 1123 이렇게 나옵니다.
물론 주석처리하거나 지우면 124 이렇게 나오고요..
2023-04-06 (목) 19:33:13
config.php 를 php 시작태그만 넣고, php 종료 태그는 넣지 않으면 문제가 해결될 수도 있습니다.
https://sir.kr/cm_free/605060

ex. config.php
(X)
<?php
$aa = 1 + 3;
?>

(O)
<?php
$aa = 1 + 3;
2023-04-12 (수) 11:15:55

원인을 알았네요.

config.php 에

Copy
<?php

$a=1;

... 어쩌구

?>

config.php 의  시작 첫줄에 공백.. 한줄을 넘긴게 변수에 줄바꿈값(?)으로 들어가나봅니다.

한줄띄우고

Copy
<- 여기 한줄 띄우고

<?php

$a=1;

... 어쩌구

?>

기초가 부족하니 이런 어처구니 없는 문제에 몇날을 고생했네요

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