Вернуть JSON строку и преобразовать обратно в массив
Я новичок в таком деле. Про ajax толком не понимаю, и надо было как-то вернуть значения из базы и заполнить ими поля у клиента. Прошу не кидаться тапками. ((
Пытаюсь организовать запрос. При нажатии на select в списке срабатывает функция отправки запроса. Запрос приходит на сервер, где генерируется ответ в виде массива, который я пытаюсь преобразовать в JSON...
if (getcheck($_POST['getProduct']) == true)
{
$id = getProduct;
db_connect();
$result = mysql_query("SELECT * FROM products WHERE id = '$id'");
$productInfo = get_to_array($result);
echo 'var arr = '.json_encode($productInfo);
}
а потом вернуть...
var arr = {
title: "",
description: "",
price: "",
photo: "",
category: ""
};
function select()
{
arr = [];
var objSel = document.getElementById('spisok');
//alert(objSel.options[objSel.selectedIndex].value);
var hR = ('v' == '\v') ? new ActiveXObject ('Microsoft.XMLHTTP')
: new XMLHttpRequest ();
var params = 'getProduct=' + encodeURIComponent (objSel.options[objSel.selectedIndex].value);
hR.open ("POST", 'function_db.php?', true);
hR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
hR.onreadystatechange = function ()
{if (hR.readyState == 4) getJSON(hR.responseText);}
hR.send (params);
//getJSON(hR.responseText)
}
В ответ ничего не выводится. ((
Источник: Stack Overflow на русском