好的,我花了很多时间在这上面,我不明白我做错了什么。
在 PHP 文件中获取数据似乎是不可能的。
- 首先,我多次调用“复制”来填充“结果”数组。
- 然后,我调用该
$.ajax
方法 - 在 process.php $_POST 是空的
--> 在 PHP$x
中,$y
或者$time
不为空但不为空。
编辑2:
好的 - 使用 json_last_error() 我看到这是我的 json,它是“语法错误:格式错误”。但我不知道如何编码它比我正在做的更好。
所以我通过在 $_POST 上添加一个 stripslashes() 来作弊。
[{\"x\":104,\"y\":218,\"时间戳\":1349476537434},{\"x\":90,\"y\":202,\"时间戳\": 1349476537469},{\"x\":82,\"y\":192,\"时间戳\":1349476537487},{\"x\":71,\"y\":177,\"时间戳\ ":1349476537514},{\"x\":68,\"y\":174,\"时间戳\":1349476537568},{\"x\":68,\"y\":173,\"时间戳\":1349476537801},{\"x\":68,\"y\":174,\"时间戳\":1349476538478},{\"x\":68,\"y\":175, \"时间戳\":1349476538512},{\"x\":68,\"y\":175,\"时间戳\":1349476538579},{\"x\":69,\"y\": 175,\"时间戳\":1349476538678}]
编辑1:
发布的数据似乎很好(往下看),我完成了“成功功能”。
[{"x":529,"y":97,"time":1349469608703},{"x":385,"y":331,"time":1349469608720},.....]
JS 端 - index.php:
<script src="jquery.js"></script>
results = new Array();
function copy(x, y, time) {
var o = { 'x': x, 'y': y, 'time': time };
results.push(o);
}
function save() {
var encoded_results = JSON.stringify(results);
$.ajax({
url: "process.php",
type: 'POST',
data: {
"results" : encoded_results
},
success: function(data, status, xhr) {
alert(data);
console.log(data);
console.log(xhr);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
PHP 端 - process.php:
if(isset($_POST["results"]))
{
$result_json = $_POST["results"];
$JSONArray = json_decode($result_json, true);
if($JSONArray !== null)
{
$x = $JSONArray["x"];
$y = $JSONArray["y"];
$time = $JSONArray["time"]
}
}