2012-05-11 3 views
0

저는 잠시 동안 ajax를 사용 해왔고 데이터 검색에 대해 더 자세히 배우고 싶습니다. 나는 callbacks을 사용하여 출력을 얻는 방법 만 알고 있습니다.Ajax 보내기 및 검색

콜백을 사용할 때 개별 값을 원할 때 split() 또는 explode()을 사용하므로 개별 값을 얻을 수 있습니다. 이보다 더 좋은 방법이 있습니까? 내가 이것을 계속 사용한다면 입력이/explode에 대해 pattern과 같은 문자를 갖는다면 지저분해질 것이라고 생각합니다.

echo 또는 HTML 출력이 아닌 변수를 통해 데이터를 개별적으로 검색하는 방법을 알고 싶습니다.

내 문제를 이해하지 못하는지 묻습니다.

감사합니다.

답변

3

PHP 페이지의 결과를 jSON으로 반환 할 수 있습니다. each 메서드를 사용하여 json 결과를 반복하고 항목을 가져올 수 있습니다. 즉 샘플

$.getJSON("yourphppage.php", function(data){ 
    $.each(data.ResultSet.Results,function(i,item){ 
     console.log(data.ResultSet.Results[i].Name); 
     console.log(data.ResultSet.Results[i].Age); 
    });  
}); 

당신이 당신의 PHP 페이지에서 다음과 같은 JSON 결과를 반환하는 가정을 split

하는 것보다 훨씬 깨끗한 방법입니다

{ 
    "ResultSet": {   
     "ErrorMessage": "No error", 
     "Results": [ 
      { 
       "Name": "John", 
       "Age": "22" 
      }, 
      { 
       "Name": "John", 
       "Age": "22" 
      } 
     ] 
    } 
} 

편집 :를 사용하여 작업 jSONLint은 JSON이 유효한지 여부를 알려주는 멋진 웹 기반 도구입니다.

http://jsonlint.com/

+0

내가 JSON''에 익숙한 아니에요 수 있지만, 나는 'JSON'에서 변수의 값을 변경/추가하는 방법을 묻는다. 위의 샘플처럼 'ResultSet'에는 2 개의 객체가 있습니다. 어떻게 추가할까요? –

+0

@ChristianEricParan : PHP 페이지에서 JSON을 반환 할 것입니다. PHP에서 json을 만들기위한 Google 검색을 수행하십시오. 결과의 각 요소는 단일 객체를 나타냅니다. 따라서 데이터베이스 레코드만큼 많은 수를 추가 할 수 있습니다. – Shyju

0

사용 아약스/JQuery와 $의 갔지 샘플 :

$.get(
    path_to_your_script. "?run=process_ajax_callback", 
    { 
     var_ajax: 1, // var sample 
     // more vars to your function 
    }, 
    function(response, status) { 
     // evaluate response var as a javascript object/array 
    }, 
    'json' // we expect json formatted response 
    ); 

는 PHP 함수에서 값 반환 :

function process_ajax_callback() 
{ 
    // ... 

    $output['var'] = array(1, 2, 3); // var sample 

    echo json_encode($output); // encode as json!!! 

    exit; // very important (only output from this function) 
}