繁体   English   中英

通过 AJAX 将 JavaScript 数组转换为 PHP

[英]JavaScript array to PHP via AJAX

我编写了一个简单的 JS 脚本,将鼠标位置保存在一个数组中,然后我通过 AJAX 将其发送到一个 php 函数。 它可以工作,并保存收到的数据,但问题是它是如何保存的,即我希望 x 和 y 位置的正常输出是:[x1,y1],[x2,y2],[x3 ,y3],...

但我得到的是这样的:a:63:{i:0;a:2:{i:0;i:527;i:1;i:1010;}i:1;a:2:{i :0;i:490;i:1;i:1205;}i:2;a:2:{i:0;i:588;i:1;i:1311;}i:3;a:2: {i:0;i:615;i:1;i:1368;}i:4;a:2:{i:0;i:553;i:1;i:1474;}i:5;.. .

我想如果我用 JSON 格式编码它会像我想的那样保存,但我不明白为什么输出是这样的。 有任何想法吗?

JS代码如下:

window.onbeforeunload = function() {
  var jsonString = JSON.stringify(tabela);
    $.ajax({
        type: 'POST',
        url: 'process.php',
        data: {
            text1: jsonString
        }
    });
}

PHP 方面是这样的:

$text1 = json_decode(stripslashes($_POST['text1']));
    $string_data = serialize($text1);
    file_put_contents("your-file.txt", $string_data);

文件中的内容如下所示,因为您通过serialize函数传递了数组。 为了“解码”文件内容,请使用unserialize 如果您想拥有更多人类可读的文件内容,只需将 JSON 字符串存储在文件中(直接$_POST['text1'] ),或者在调用file_put_contents之前再次使用json_encode代替serialize

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM