2012-05-11 3 views
0

Я уже некоторое время использую ajax, и я хочу узнать больше об извлечении данных. Я знаю, как получить результат, используя callbacks.Ajax Отправка и получение

Когда я использую обратные вызовы, и мне нужны отдельные значения, я использую split() или explode(), поэтому я могу получить индивидуальное значение. Есть ли лучший способ, чем это? если я буду продолжать использовать это, я думаю, что он станет беспорядочным, если входы имеют тот же характер, что и pattern для split/explode.

Я хочу знать, как извлекать данные по отдельности через переменные, а не по echo или выводам HTML.

спросите, не понимаете ли вы мою проблему.

Спасибо.

ответ

3

Вы можете вернуть выходные данные на странице PHP как jSON. вы можете перебирать результаты json с помощью метода each и получать предметы. Это намного чище путь, чем split

Образец

$.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); 
    });  
}); 

Предполагая, что вы возвращаете JSON результат как ниже со страницы PHP

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

EDIT: При работе с использованием jSONLint, удивительный веб-инструмент, чтобы рассказать вам, является ли ваш JSON действительным или нет.

http://jsonlint.com/

+0

Я не знаком с 'JSON' но может Я спрашиваю: Как мне изменить/добавить значения переменных в 'JSON'? как ваш пример выше, 'ResultSet' имеет 2 объекта, как добавить еще один к этому? –

+0

@ChristianEricParan: Этот JSON вы вернетесь со своей страницы PHP. Сделайте поиск Google для создания json из php. Каждый элемент в результатах представляет собой один объект. Таким образом, вы можете добавить столько же, сколько и записей в базе данных. – Shyju

0

Использование Ajax/JQuery $ .get образец:

$.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) 
} 
Смежные вопросы