わかりました、私はこれに多くの時間を費やしていますが、何が間違っているのかわかりません。
PHP ファイル内のデータを取得できないようです。
- 最初に、「コピー」を何度も呼び出して「結果」配列を埋めます。
- 次に、
$.ajax
メソッドを呼び出します - process.php で $_POST が空です
--> PHP$x
で、$y
または$time
null ではなく空ではありません。
編集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,"時間":1349469608703},{"x":385,"y":331,"時間":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"]
}
}