如何将所有 sessionStorage 内容提交到 PHP 服务器
How to submit all sessionStorage content to PHP server
我目前正在使用类似下面的东西,但是我在将所有 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 should look as follows after the above:
valueA: "Value A"
valueB: "2"
valueC: "Value XYZ"
Assuming two values have been saved using for loop they would be save as
such (value 8 and 2 are just random example attribute values from the html side):
valueD1: "8"
valueD2: "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;
}
});
您可以使用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 });
我目前正在使用类似下面的东西,但是我在将所有 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 should look as follows after the above:
valueA: "Value A"
valueB: "2"
valueC: "Value XYZ"
Assuming two values have been saved using for loop they would be save as such (value 8 and 2 are just random example attribute values from the html side):
valueD1: "8"
valueD2: "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;
}
});
您可以使用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 });