Здравствуйте.
Разбираюсь с Ajax. На странице есть несколько селектов:
<select>
<option>Выбрать товар</option>
<option data-id="1">...</option>
<option data-id="2">...</option>
<option data-id="3">...</option>
<option data-id="4">...</option>
</select>
<select>
</select>
При выборе товара в первом селекте, с помощью js ловлю data-id и аджаксом передаю на сервер к файлу с запросом в бд.
$(document).ready(function(){
$('#prec_name').change(function(){
var dataId = this.options[this.selectedIndex].dataset.id;
if(!parseInt(dataId)){
return false;
}else{
if(/[^[0-9]+/.test(dataId)){
return false;
}
}
$.ajax({
type: 'POST',
url: 'ajax/getSize/getSize.php',
datatype: 'json',
data: "param=" + dataId,
success: function (data) {
console.log(data);
}
});
});
});
Запрос делается и приходят данные в виде ассоциативного массива.
к массиву применяю json_encode(array) и передаю обратно с помощью echo.
Дальше начинаются проблемы... вывожу в консоль данные пришедшие с сервера, и получаю это:
[{"sixteen":"1","seventeen":"1","eighteen":"0","nineteen":"1","twenty":"1"}]
при таком выводе
console.log(data.sixteen)
так тоже undefined
console.log(data['sixteen']);
В чем проблема? Как правильно обработать эти данные?