php
  • jquery
  • arrays
  • 2010-03-27 5 views 6 likes 
    6

    배열 및 구조 데이터를 반환하는 간단한 jquery/ajax 요청을 서버에 있습니다. jquery를 사용하여이 배열 구조와 데이터를 사용할 수있는 빠른 방법이 있는지 궁금합니다.PHP print_r 배열 결과를 사용하여 자바 스크립트/jquery

    간단한 요청입니다.

    var token = $("#token").val(); 
    $.ajax({ 
        type: 'POST', url: './', data: 'token=' + token + '&re=8', cache: false, timeout: 5000, 
        success: function(html){ 
         // do something here with the html var 
        }       
    }); 
    

    결과 (PHP의 print_r();) 결과) 그건 그냥 마음에 달려들 작동 할 경우

    Array 
        (
    
         [0] => Array 
          (
           [username] => Emmalene 
           [contents] => 
               <ul><li class="name">ACTwebDesigns</li><li class="speech">helllllllo</li></ul> 
               <ul><li class="name">ACTwebDesigns</li><li class="speech">sds</li></ul> 
               <ul><li class="name">ACTwebDesigns</li><li class="speech">Sponge</li><li class="speech">dick</li></ul> 
               <ul><li class="name">ACTwebDesigns</li><li class="speech">arghh</li></ul> 
          ) 
    
        ) 
    

    나는

    var demo = Array(html); // and then do something with the demo var 
    

    확실하지의 라인을 따라 생각했다.

    도움을 주시면 감사하겠습니다.

    답변

    3

    JSON을 사용하십시오. JSON은 다양한 프로그래밍 언어간에 데이터를 쉽게 전송할 수있는 간단한 데이터 교환 형식입니다.

    PHP에서 사용 json_encode 데이터를 인코딩 :

    echo json_encode($array); 
    

    그리고 jQuery를에

    이 결과는 JSON 형식이라고 정의하고 jQuery를 자동으로 같은 구문 분석됩니다

    $.ajax({ 
        type: 'POST', 
        url: './', data: 'token=' + token + '&re=8', 
        cache: false, 
        timeout: 5000, 
        dataType: 'json', 
        success: function(obj) { 
         // obj is now the same array as JS object: 
         $.each(obj, function(index, row) { 
          alert(row.username); 
         });    
        }       
    }); 
    
    +0

    죄송합니다. 답변 하나만 투표 할 수 있지만 감사합니다. 또 다른 한 가지 (나는 정말 나쁜 자바 스크립트) 어떻게 결과를 통해 루프합니까? –

    +1

    @Phil Jackson, jQuery의'each()'메소드를 사용하여 결과를 반복하는 예제를 포함하도록 답변을 수정했습니다. –

    +0

    당신은 좋은 사람입니다! –

    1

    사용 json_encode() . 배열을 Javascript에서 직접 사용할 수있는 JSON 데이터로 변환합니다.

    1

    PHP 스크립트에서 json_encode을 사용할 수 있습니다. 이렇게하면 자바 스크립트에서 직접 사용할 수있는 JSON 인코딩 데이터가 반환됩니다.

    $.ajax({ 
        type: 'POST', 
        url: './', 
        data: { token: token, re: '8' }, 
        cache: false, 
        timeout: 5000, 
        success: function(data){ 
         // data will already be a javascript object that you can manipulate 
        }       
    }); 
    
    +0

    'dataType : 'json''을 지정하지 않으면'data'는 자바 스크립트 객체가 아닙니다. –

    +1

    서버가 올바른 콘텐츠 형식 인 Content-Type : application/json을 보내는 경우입니다. –

    +0

    콘텐츠 유형을 작성하지 않고 'json'으로 유형을 변경했지만 경고를 계속 올바르게 반환합니다 (JSON_array [0] .username); emmalene를 돌려 보낸다. –

    관련 문제