Я создал элемент localStorage, который хочу опубликовать на сервере с помощью AJAX.Я перебрал данные элемента localStorage и перенес эти данные в новый массив.Теперь я хочу опубликовать этот новый массив на сервере, но мои поля данных в вызове ajax возвращают 0.
let shopItem = JSON.parse(localStorage.getItem('item'));
let array = [];
for (var i = 0; i < shopItem.length; i++){
let chosen_date = shopItem[i].chosen_date;
let product_id = shopItem[i].product_id;
let quantity = shopItem[i].quantity;
array.push({product_id: product_id, quantity: quantity, chosen_date: chosen_date});
}
$.ajax({
url: ajaxscript.ajax_url,
method: "post",
data: {
action: "add_this_shit_to_cart",
product_id: array.product_id, // LOOP HERE THROUGH ARRAY??
chosen_date: array.chosen_date, // LOOP HERE THROUGH ARRAY??
quantity: array.quantity // LOOP HERE THROUGH ARRAY??
},
success: function(response) {
console.log("resp: ", response);
},
error: function(err) {
console.log(err);
}
});
Итак, нужно ли мне снова проходить массив для каждого поля?
В моем functions.php у меня есть это:
function add_this_shit_to_cart() {
ob_start();
$product_id = intval($_POST['product_id'] );
$chosen_date = intval($_POST['chosen_date'] );
$quantity = intval($_POST['quantity'] );
$data = array(
'product' => $product_id,
'chosen_date' => $chosen_date,
'quantity' => $quantity
);
echo json_encode($data);
die();
}
add_action( 'wp_ajax_add_this_shit_to_cart', 'add_this_shit_to_cart' );
add_action( 'wp_ajax_nopriv_add_this_shit_to_cart', 'add_this_shit_to_cart' );
Может ли кто-нибудь мне помочь?
И да, основной вопрос: хранятся ли эти данные в базе данных?
Я новичок в WordPress, так что ...