我做了一些研究,甚至有一本书解释了对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中的所有数据都是数组,需要保存本地存储中的数百个变量。
编辑:
这是我的代码,因为它被提请我注意它是必要的。我正在尝试将本地存储的所有数据发送到服务器,以便保存在数据库中。
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;
}
我不知道这是否正确,我找不到任何关于如何传递所有本地存储数据的信息,这基本上是我之前试图问的,但显然没有传达出来。
发布于 2014-08-07 13:00:07
基本上,你需要做的是:
- Send `Content-type: text/json` ti send a hint to the service that you are sending JSON data (Optional, but recommended)
json_decode
有效负载,并使用您自己的逻辑来处理它,以满足您的需要)。注意:
你没有提供任何代码,所以我跳过编码部分(我猜不出你的代码,伙计)
编辑
您可以参考Send data from localStorage via AJAX to PHP and save it in an HTML file,只需跳过保存部分并用所需的处理替换
https://stackoverflow.com/questions/25191944
复制相似问题