ajax 통신 결과값 가져오기
본문
안녕하세요 Ajax통신 관련 질문하나드리겠습니다
아래가 ajax 코드입니다. 버튼을 클릭했을때 $code , $message값을 가져오고 싶은데 어떻게 가져와야하는지 잘모르겠습니다.
$("#btn_apply").on("click", function() {
console.log($("#fwrite").serialize());
$.ajax({
type: "POST",
data: $("#fwrite").serialize(),
url: "/RegistIssue.php",
cache: false,
async: false,
success: function(data) {
alert(data.code);
console.log(data);
}
});
});
아래가 RegistIssue.php 파일의 일부인데요 여기서 $code , $message 값만 가지고 오고 싶은데
통신후에 data 안에는 아래 전체 코드가 들어있더라고요 해당변수만 가지고와서 경고창을 띄우려고 하는데 어떻게 하는지 알려주시면 감사하겠습니다.
<body>
<div id="content">
<p class="heading1">Response</p>
<br/>
<fieldset class="fieldset1">
<legend>전자세금계산서 즉시발행</legend>
<ul>
<li>응답코드 (code) : <?php echo $code ?></li>
<li>응답메시지 (message) : <?php echo $message ?></li>
<li>문서번호 : <?php echo $invoicerMgtKey ?></li>
<li>사업자번호 : <?php echo $taxconfig['company_saupja_no'] ?></li>
<?php
if ( isset($ntsConfirmNum) ) {
?>
<li>국세청승인번호 (ntsConfirmNum) : <?php echo $ntsConfirmNum ?></li>
<?php
}
?>
</ul>
</fieldset>
</div>
</body>
답변 1
특정값을 가져오는 ajax를 사용할땐 위와같이 응답하는 페이지가 html이 아닌 단일값이거나 json타입으로 리턴하여 받습니다.
RegistIssue.php 대신 같은 기능을 하지만 출력값만 다른 php파일을 만들어
echo '{"code " : "'.$code.'" , "message" : "'.$message.'"}
출력을 위와 같이 하시고
ajax에서도 dataType : "json",
을 추가 하신후
alert(data.code)로 사용하셔야 정상적인 값이 출력됩니다
그외에 정규식으로 원하는 값을 걸러내는 방법도 있지만 정규식이 더 복잡한 방법입니다.
답변을 작성하시기 전에 로그인 해주세요.