Как отправить весь контент sessionStorage на сервер PHP

В настоящее время я работаю с чем-то вроде ниже, но у меня есть проблемы с синтаксисом в назначении всех моих данных sessionStorage переменной и передачи этого через мой PHP:

var exampleValueOne = "Value A";
var exampleValueTwo = 2;
var exampleValueThree = "Value XYZ";

//Example value from my HTML modal where multiple of the same 'users' may be captured
var dropDownValue = $('#aDropDown').find('option:selected').attr('value');

//Some assignments
sessionStorage.setItem("valueA", exampleValueOne );
sessionStorage.setItem("valueB", exampleValueTwo );
sessionStorage.setItem("valueC", exampleValueThree );

//Need to be able to assign an indeterminate amount of valueD key value pairs
if (sessionStorage.getItem("valueD1") === null) {

var countNumber = 1;
sessionStorage.setItem("valueE", countNumber);

for (var i = 0; i < countNumber; i++){

sessionStorage.setItem("valueD"+[countNumber], dropDownValue);

}

} else {

//if at least one valueD exists it means we need to add after the last one
var countNumber = parseInt(sessionStorage.getItem("valueE"));
//update the count
sessionStorage.setItem("valueE", (countNumber + 1));

for (var i = countNumber; i < (countNumber + 1); i++){

sessionStorage.setItem("valueD"+[countNumber], dropDownValue);

}

}

sessionStorage должен выглядеть следующим образом:

значение A: «Значение A»

значение B: «2»

valueC: «Значение XYZ»

Предполагая, что два значения были сохранены с использованием цикла for, они будут сохранены как
например (значения 8 и 2 — просто случайные значения атрибутов примера со стороны html):

значение D1: «8»

значение D2: «2»

//NOW I would like to pass these values to my PHP using Ajax

var data = {
/*ALL SESSION STORAGE ITEMS?*/
};

$.ajax({
type: "POST",
url: "myPHP.php",
data: data,
success: function(){
return false;
}
});

2

Решение

Вы можете использовать length собственность и key(i) метод, чтобы получить все ключи, которые используются в sessionStorage. с помощью этих ключей вы можете получить значения, как обычно

sessionStorage.setItem("valueA", '1' );
sessionStorage.setItem("valueB", '2' );
sessionStorage.setItem("valueC", '3' );

//Create data object so we can submit it to the server
var data = {};
for(var len = sessionStorage.length, i = 0; i < len; i++) {
var key =  sessionStorage.key(i);
data[key] = sessionStorage.getItem(key);
}
console.log(data);

//From this point you can post the `data` to your server side
$.ajax({ type: "POST", url: "myPHP.php", data: data });
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]