如何将所有 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 });