我做了一些研究,甚至有一本书解释了Ajax调用php并向浏览器和服务器发送数据。我发现这非常接近我需要的东西,因为我使用的是本地存储How can I pass saved localStorage web data to a php script?,这个链接看起来非常连贯但我不知道该怎么做PHP侧How to pass data from Javascript to PHP and vice versa?,
虽然我有一个更大的问题,我在本地存储中的数据量非常大,有几个不同的数组存储在那里并进行JSON编码,当我得到数组时我使用JSON.parse并设置存储中的数组我将其字符串化。怎么做才能发送这种数据?并非localStorage中的所有数据都是一个数组,本地存储中有数百个变量需要保存。
编辑:
这是我的代码,因为它引起了我的注意,它是需要的。 我试图将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;
}
我不知道这是否正确,我找不到任何关于如何传递所有本地存储数据的内容,这基本上是我之前想要提出的问题,但显然没有传达出来。
答案 0 :(得分:1)
基本上你需要做的是:
使用jQuery或other_framework_of_choice准备AJAX请求,并将有效负载设置为字符串化数据并发送:
Content-type: text/json
ti向您发送JSON数据的服务发送提示(可选,但建议使用)在PHP端处理数据(即json_decode
有效负载并使用您自己的逻辑处理它以满足您的需求。
你没有提供任何代码,所以我只是跳过编码部分(我不能猜你的代码,交配)
您可以参考Send data from localStorage via AJAX to PHP and save it in an HTML file 只需跳过保存部分并替换为您想要的处理