ajax json 질문입니다.

ajax json 질문입니다.

QA

ajax json 질문입니다.

본문


///  test.php
<div id="test"></div>
 
$.ajax({
 url : "./ajax_test.php",
 type ; "post",
 dataType : "json',
 data : {data : 123}
 success : function(res) {
  $('#test').html(res.data);
 }
});
 
 
// ajax_test.php
$data = $_POST['data'];
$result = array();
$result['data'] = '';
$result['data'] = "<div>
<span>123</span>
<div>
 <span>234</span>
</div>
</div>";
 
echo json_encode($result);

 

이런식으로 json으로 할때 $result['data']처럼 html을 변수에 넣는방법말고

 

ajax success 할때 html을 받으려면 어떻게해야하나요?

이 질문에 댓글 쓰기 :

답변 4

안에 들어가야 할 값이 123 / 234라는 값이면 이 두 값을 $result에 넣으시고 echo json_encode($result)하시면 됩니다.

 

그러면 ajax에서 success할때 값을 받아올 것이고, 그 안에서 지금 $result['data']에 적으신 코드를 작성하시면 됩니다.

 

예를 들면 다음과 같습니다.


success : function(res){
    var temp_data = "";
    for(var i=0; i<res.length; i++){
        temp_data += "<span>"+res[i]+"</span>";
    }
    $('#test').html(data);
}

 

대략적으로 적은거라..문법상 틀린것도 있을 수 있는데 저런 방식으로 돌아간다는 느낌만 받으시면 될것 같습니다.

 

결국 서버가 일을 덜 하게 되고 클라이언트가 일을 더 하게 되겠죠. (서버는 작은 데이터 값만 전송해주므로)

저런건 굳이 json이런 것보다 간단한 방법으로 하는 것이...

 

$.post("./ajax_test.php","data=123", function(cont){

  $('#test').html(cont);

});

/////////

ajax_test.php 마지막 변경 echo $result['data']; <--배열로 만들 필요없음

 


///  test.php
<div id="test"></div>
 
$.ajax({
 url : "./ajax_test.php",
 type : "post",
 dataType : 'html',
 data : {data : 123}
 success : function(html) {
  $('#test').html(html);
 }
});
 
// ajax_test.php
<div>
  <span>123</span>
  <div>
    <span>234</span>
  </div>
</div>
답변을 작성하시기 전에 로그인 해주세요.
전체 407
QA 내용 검색
filter #ajax ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT