向PHP发送localStorage数据

Sending localStorage data to PHP

本文关键字:数据 localStorage 发送 PHP      更新时间:2023-09-26

我做了一些研究,甚至有一本书解释了Ajax调用php和从浏览器和服务器发送数据。我发现这是非常接近我需要的,因为我使用本地存储我怎么能传递保存的localStorage web数据到php脚本?这个链接似乎很连贯,但我不知道该怎么做在PHP方面如何从Javascript传递数据到PHP,反之亦然?

虽然我有一个更大的问题,我在本地存储的数据量非常大,有几个不同的数组存储在那里,是JSON编码的,当我得到数组我使用JSON。解析并在存储中设置数组,我将其字符串化。怎样才能把这样的数据发送过去呢?localStorage中的数据也不是都是数组,本地存储中有数百个变量需要保存。

编辑:

这是我的代码,因为它引起了我的注意,这是需要的。我试图得到所有的数据从本地存储被发送到服务器保存在数据库中。

function postData(){
    var storage = JSON.stringify(localStorage);
    var xhr;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    else {
        throw new Error("Ajax is not supported by this browser");
    }
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status === 200 && xhr.status < 300) {
                document.getElementById('div1').innerHTML = xhr.responseText;
            }
        }
    };
    xhr.open('POST', 'Membership.php');
    xhr.setRequestHeader("Content-Type: text/json", "application/x-www-form-urlencoded");
    xhr.send("data=" + storage);
}

PHP这边有

if ($_POST){
    $data = json_decode($_POST['data']);
    echo "The data" .$data;
}

我不知道这是否正确,我找不到关于如何传递所有本地存储数据的任何东西,这基本上是我之前试图问的,但显然未能传达。

基本上你需要做的是:

  1. 从localStorage中检索所有数据
  2. 字符串化一切(现在你有JSON表示的所有数据)
  3. 使用jQuery或other_framework_of_choice准备AJAX请求,并将有效负载设置为字符串化数据并发送:

    • 发送Content-type: text/json向服务发送JSON数据的提示(可选,但推荐)
  4. 在PHP端处理数据(即json_decode的有效载荷,并使用您自己的逻辑满足您的需求。

注意:

你没有提供任何代码,所以我就跳过编码部分(我猜不出你的代码,伙计)

编辑

您可以参考通过AJAX将数据从localStorage发送到PHP,并将其保存在HTML文件中只需跳过保存部分,并将其替换为所需的处理