向PHP发送localStorage数据
Sending localStorage data to PHP
我做了一些研究,甚至有一本书解释了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;
}
我不知道这是否正确,我找不到关于如何传递所有本地存储数据的任何东西,这基本上是我之前试图问的,但显然未能传达。
基本上你需要做的是:
- 从localStorage中检索所有数据
- 字符串化一切(现在你有JSON表示的所有数据)
-
使用jQuery或other_framework_of_choice准备AJAX请求,并将有效负载设置为字符串化数据并发送:
- 发送
Content-type: text/json
向服务发送JSON数据的提示(可选,但推荐)
- 发送
-
在PHP端处理数据(即
json_decode
的有效载荷,并使用您自己的逻辑满足您的需求。
注意:
你没有提供任何代码,所以我就跳过编码部分(我猜不出你的代码,伙计)
编辑
您可以参考通过AJAX将数据从localStorage发送到PHP,并将其保存在HTML文件中只需跳过保存部分,并将其替换为所需的处理
相关文章:
- 如何删除Localstorage中的数据
- 使用LocalStorage保存数据
- 如何在javascript中使用localStorage从数组中存储和提取数据
- 仅部分检索到localStorage数据
- 正在读取localStorage数据
- HTML5 localStorage覆盖数据
- 从localStorage检索数字数据
- localStorage为用户注册如何在不丢失数据的情况下重定向
- localStorage、限制和达到限制时的数据过期
- Javascript uncatch Referenceerror,从 localStorage 检索数据时出错
- 将表数据保存到 HTML5 LocalStorage
- 更好地设计使用 HTML5 localStorage 存储的数据
- 如何在 Firefox 附加 SDK 扩展中使用 'jpm run' 时将数据持久存储在 'localStorage'
- 无法在 Backbone.localStorage 插件中设置初始收集数据
- 从 JavaScript 中删除 HTML 5 localStorage 数据
- 使用reactjs、localStorage和state(遍历)以模式显示表中的数据
- 使用localstorage存储表数据并将其传递给窗体
- localStorage数据持久性
- localStorage.getItem返回IE 9中的旧数据
- 从LocalStorage检索所有数据(不知道密钥名称)