【发布时间】:2011-07-09 23:38:47
【问题描述】:
我正在使用 jQuery 和 PHP 将 JSON 数据写入我的服务器。我正在处理大量重复的数字数据(~.75kb),所以我想以多维数组的形式将数据传递给 PHP。
目前我无法以 PHP 可以识别的形式将数据发送到 PHP。我尝试了将发送/接收作为数组和对象的各种组合,但没有成功。
最好的情况是我将数组传递给 PHP,然后 PHP 将其转换为可读形式。我宁愿不使用关联数组或 Javascript 的任何序列化。
代码...这给了我一个 500 内部服务器错误,如果我省略传递的数据变量,它将不再发生。 (我还没有在 php 文件中使用 $data,因为我知道它不起作用。)
函数生成数据(){ // 这里的代码 return [ one[ sub_one[], sub_two[] ], two[], three[],four[] /* 等等... */ ] } 函数保存数据(){ $.ajax({ 网址:“脚本/save.php”, 数据: { “区域”:“测试”, “位置”:“测试”, “名称”:“测试”, “数据”:生成数据() } }); }<?php
$area = $_GET['area'];
$location = $_GET['location'];
$name = $_GET['name'];
$data = $_GET['data']);
# Performing operations with variables...
echo 1;
?>
感谢您提供的任何帮助。
【问题讨论】:
-
你多了一个括号:$data = $_GET['data']);
-
所以我愿意... 500 内部服务器错误消失了,我现在正在获取 $data。我会尝试转储 $data 并查看是否可以访问其中任何一个。
-
您应该将数据作为 JSON 传递。
-
JSON 可以作为 PHP 中的关联数组访问,那么当我可以一步完成时,为什么还要采取额外的步骤来序列化 JSON 并将其传递给 PHP 以将其格式化为我的文件呢?
-
简短评论,您不能通过网络发送对象。不是从 javascript 到 php,也不是从我的电脑到你的电脑,总是需要涉及某种序列化和反序列化,但是,在你的情况下,jQuery 和 PHP 会为你解决这个问题:)。
标签: javascript jquery ajax json multidimensional-array