PHP должен включать заголовок json:
header('Content-type: application/json');
В запрос ajax должен быть включен evalScripts (убедитесь, что вы доверяете источнику):
new Ajax.Request("json.php",
{ method: 'get',
parameters: {'xyz': 'json', 'var2': 'some_val'},
evalScripts: true,
onSuccess: function(response){your_function(response);}});
Тогда ваша функция можетполучите json, как показано ниже:
your_function = function (response) {
var result = response.responseJSON;
...
}
Редактировать: есть также эти инструкции непосредственно из источника: http://www.prototypejs.org/learn/json
Edit2: Вот как обновить сервер:
$return_data = array();
$return_data['price'] = getPrice($db);
$return_data['name'] = getName($db);
echo json_encode($return_data)."\n";
после того, как вы это сделаете, в js вы можете сделать что-то вроде следующего (из приведенного выше примера your_function):
alert ("first id is: " + result['price'][0]['id']);