Сохраняю данные в массив в local storage в виде
2-1: {goodname: "Limelight", goodprice: "320", goodimg: "image/tovar3.jpg", count: 1}
function _getCartData() {
$.each(_checkLS(), function(id) {
cartData[id] = encodeURIComponent(cartData[id]);
});
return cartData;
}
Проделываю с массивом такую манипуляцию с помощью encodeURIComponent
массив приобретает вид
{"2-1":"%5Bobject%20Object%5D"}
потом
cartData = _getCartData();
orderData = formData + '&cart=' + JSON.stringify(cartData);
console.log(orderData);
ui.$orderBtn.attr('disabled', 'disabled').text('Идет отправка заказа...');
$.ajax({
url: 'scripts/order.php',
data: orderData,
type: 'POST',
cache: false, // на всякий случай отказываемся от кэширования
dataType: 'json',
далее пытаюсь декодировать строку через stripslashes
function getData() {
return array(
'surname' => getParam('surname'),
'name' => getParam('name'),
'email' => getParam('email'),
'phone' => getParam('phone'),
'coment' => getParam('comment'),
'cart' => isset($_POST['cart']) ? stripslashes($_POST['cart']) : ''
);
}
......
foreach($cart as $id =>$value) {
echo sprintf(
"<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>",
$id,
$cart[$id]['goodname'],
$cart[$id]['goodprice'],
$cart[$id]['count']
);
}
Но на выходе получаю
Warning: Illegal string offset 'goodname'
Warning: Illegal string offset 'goodprice'
Warning: Illegal string offset 'count'
ID Название Цена Количество
2-1 [ [ [
в чём моя ошибка?