Я пытаюсь реализовать функцию «сохранить позже» в jquery с использованием localstorage. Идея заключается в сохранении каждого события формы в localalstorage и использовании кнопки для их синхронизации и сохранения на сервере.
Мне удается сохранить данные формы в локальном хранилище и получить все сохраненные локальные хранилища. В настоящее время я борюсь за то, как я могу иметь возможность отправлять конкретные значения только на сервер, используя PHP
Вот мой код для сохранения данных формы в localalstorage
$('#systemInventory').on("submit", function(e) {
e.preventDefault(); // prevent the form from attempting to send to the web server
let $inputs = $('#systemInventory :input');
let values = {};
$inputs.each(function() {
values[$(this).attr("name")] = $(this).val();
});
let title = 'systemInventory' + $.now();
localStorage.setItem(title, JSON.stringify(values));
$('#systemInventory')[0].reset();
mdtoast('Successfully Saved',
{ type: mdtoast.INFO });
});
а вот тот, который я использовал для извлечения данных из локального хранилища
function allStorage() {
let values = [],
keys = Object.keys(localStorage),
i = keys.length;
while ( i-- ) {
values.push( localStorage.getItem(keys[i]) );
}
return values;
}
Вот то, что я пытаюсь сделать, чтобы сохранить определенные данные в хранилище PHP
$.each(allStorage(), function (key, value) {
let data = JSON.parse(value);
console.log(data);
$.ajax({
url: "sync.php",
method: 'POST',
data: {data: data},
success: function (response) {
console.log(response);
},
error: function (response) {
console.log(response);
}
});
});
и мой php код
if (isset($_POST['data'])){
foreach ($_POST['data'] as $key => $value){
$data[] = array(
$key => $value
);
}
$dataForm = call_user_func_array('array_merge', $data);
print_r($dataForm);
// print_r($data);
}
Когда консоль регистрирует все сохраненные локальные хранилища, у меня есть этот результат
и при нажатии на синхронизацию, тот, который отправляет на сервер, у меня возникает эта проблема
что я действительно хочу сделать, так это когда я отправляю данные localalstorage в php, они автоматически образуют определенный массив, например
$data = array(
'type'=>'product',
'beginning'=>1,
'delivery'=>1
);