首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向PHP发送localStorage数据

向PHP发送localStorage数据
EN

Stack Overflow用户
提问于 2014-08-07 20:51:21
回答 1查看 5.2K关注 0票数 0

我做了一些研究,甚至有一本书解释了对php的Ajax调用以及向浏览器和服务器发送数据。我发现这与我所需要的非常接近,因为我使用的是本地存储How can I pass saved localStorage web data to a php script?,这个链接看起来相当连贯,但是我不知道在How to pass data from Javascript to PHP and vice versa?端要做什么,

虽然我有一个更大的问题,但我在本地存储的数据量相当大,有几个不同的数组存储在那里,并被JSON编码,当我得到数组时,我使用JSON.parse并在存储中设置数组,然后对其进行压缩。如何才能做到这一点来发送这种数据呢?并非localStorage中的所有数据都是数组,需要保存本地存储中的数百个变量。

编辑:

这是我的代码,因为它被提请我注意它是必要的。我正在尝试将本地存储的所有数据发送到服务器,以便保存在数据库中。

代码语言:javascript
运行
复制
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方面

代码语言:javascript
运行
复制
if ($_POST){

    $data = json_decode($_POST['data']);

    echo "The data" .$data;

}

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

EN

回答 1

Stack Overflow用户

发布于 2014-08-07 21:00:07

基本上,你需要做的是:

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

代码语言:javascript
运行
复制
- Send `Content-type: text/json` ti send a hint to the service that you are sending JSON data (Optional, but recommended)

  1. 处理PHP中的数据(即json_decode有效负载,并使用您自己的逻辑来处理它,以满足您的需要)。

注意:

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

编辑

您可以参考Send data from localStorage via AJAX to PHP and save it in an HTML file,只需跳过保存部分并用所需的处理替换

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25191944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档